Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

77 lines (58 sloc) 2.628 kb
$Id$
_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
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.
Jump to Line
Something went wrong with that request. Please try again.