1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- $Id: README.ares,v 1.9 2004/01/09 07:45:47 bagder Exp $
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
- How To Build libcurl to Use ares For Asynch Name Resolves
- =========================================================
- ares:
- ftp://athena-dist.mit.edu/pub/ATHENA/ares/ares-1.1.1.tar.gz
- http://curl.haxx.se/dev/ares-1.1.1.tar.gz
- http://curl.sourceforge.net/dev/ares-1.1.1.tar.gz
- http://curl.planetmirror.com/dev/ares-1.1.1.tar.gz
- http://curl.tsuren.net/dev/ares-1.1.1.tar.gz
-
- c-ares: (a patched and improved version of ares)
- http://curl.haxx.se/beta/arescurl-1.0-pre1.tar.gz
- NOTE
- libcurl works with ares 1.1.1, but several patches and improvements have
- been put into the c-ares package which has made it more portable and better
- working on several platforms.
- Build ares
- ==========
- 1. unpack the ares archive
- 2. cd ares-dir
- 3. ./configure
- 4. make
- Build libcurl to use ares in the curl source tree
- =================================================
- 1. name the ares source directory 'ares' in the curl source directory
- 2. ./configure --enable-ares
- 3. make
- Build libcurl to use an installed ares
- ======================================
- 1. ./configure --enable-ares=/path/to/ares/install
- 2. make
- Ares and ipv6
- =============
- If the configure script enables IPv6 support you need to explicitly disable
- that (--disable-ipv6) since ares isn't IPv6 compatible (yet).
- Ares on win32
- =============
- (description brought by Dominick Meglio)
- First I compiled curl-ares. I changed the default C runtime library to be the
- single-threaded rather than the multi-threaded (this seems to be required to
- prevent linking errors later on). Then I simply build the areslib project (the
- other projects adig/ahost seem to fail under MSVC).
- Next was libcurl. I opened lib/config-win32.h and I added a:
- #define USE_ARES 1
- Next thing I did was I added the path for the ares includes to the include
- path, and the libares.lib to the libraries.
- Lastly, I also changed libcurl to be single-threaded rather than
- multi-threaded, again this was to prevent some duplicate symbol errors. I'm
- not sure why I needed to change everything to single-threaded, but when I
- didn't I got redefinition errors for several CRT functions (malloc, stricmp,
- etc.)
- I would have modified the MSVC++ project files, but I only have VC.NET and it
- uses a different format than VC6.0 so I didn't want to go and change
- everything and remove VC6.0 support from libcurl.
|