]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/curl/lib/README.ares
hello world
[icculus/iodoom3.git] / neo / curl / lib / README.ares
1 $Id: README.ares,v 1.9 2004/01/09 07:45:47 bagder Exp $
2                                   _   _ ____  _     
3                               ___| | | |  _ \| |    
4                              / __| | | | |_) | |    
5                             | (__| |_| |  _ <| |___ 
6                              \___|\___/|_| \_\_____|
7
8           How To Build libcurl to Use ares For Asynch Name Resolves
9           =========================================================
10
11 ares:
12   ftp://athena-dist.mit.edu/pub/ATHENA/ares/ares-1.1.1.tar.gz
13   http://curl.haxx.se/dev/ares-1.1.1.tar.gz
14   http://curl.sourceforge.net/dev/ares-1.1.1.tar.gz
15   http://curl.planetmirror.com/dev/ares-1.1.1.tar.gz
16   http://curl.tsuren.net/dev/ares-1.1.1.tar.gz
17   
18 c-ares: (a patched and improved version of ares)
19   http://curl.haxx.se/beta/arescurl-1.0-pre1.tar.gz
20
21 NOTE
22   libcurl works with ares 1.1.1, but several patches and improvements have
23   been put into the c-ares package which has made it more portable and better
24   working on several platforms.
25
26 Build ares
27 ==========
28
29 1. unpack the ares archive
30 2. cd ares-dir
31 3. ./configure
32 4. make
33
34 Build libcurl to use ares in the curl source tree
35 =================================================
36
37 1. name the ares source directory 'ares' in the curl source directory
38 2. ./configure --enable-ares
39 3. make
40
41 Build libcurl to use an installed ares
42 ======================================
43
44 1. ./configure --enable-ares=/path/to/ares/install
45 2. make
46
47 Ares and ipv6
48 =============
49
50 If the configure script enables IPv6 support you need to explicitly disable
51 that (--disable-ipv6) since ares isn't IPv6 compatible (yet).
52
53 Ares on win32
54 =============
55 (description brought by Dominick Meglio)
56
57 First I compiled curl-ares. I changed the default C runtime library to be the
58 single-threaded rather than the multi-threaded (this seems to be required to
59 prevent linking errors later on). Then I simply build the areslib project (the
60 other projects adig/ahost seem to fail under MSVC).
61
62 Next was libcurl. I opened lib/config-win32.h and I added a:
63  #define USE_ARES 1
64
65 Next thing I did was I added the path for the ares includes to the include
66 path, and the libares.lib to the libraries.
67
68 Lastly, I also changed libcurl to be single-threaded rather than
69 multi-threaded, again this was to prevent some duplicate symbol errors. I'm
70 not sure why I needed to change everything to single-threaded, but when I
71 didn't I got redefinition errors for several CRT functions (malloc, stricmp,
72 etc.)
73
74 I would have modified the MSVC++ project files, but I only have VC.NET and it
75 uses a different format than VC6.0 so I didn't want to go and change
76 everything and remove VC6.0 support from libcurl.