Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
.cvsignore
Makefile.am
Makefile.b32
Makefile.b32.resp
Makefile.m32
Makefile.riscos
Makefile.vc6
README.ares
README.encoding
README.memoryleak
amigaos.c
amigaos.h
arpa_telnet.h
base64.c
base64.h
ca-bundle.crt
config-amigaos.h
config-mac.h
config-riscos.h
config-vms.h
config-win32.h
config.dj
connect.c
connect.h
content_encoding.c
content_encoding.h
cookie.c
cookie.h
curllib.dsp
curllib.dsw
dict.c
dict.h
easy.c
escape.c
escape.h
file.c
file.h
formdata.c
formdata.h
ftp.c
ftp.h
getdate.c.cvs
getdate.h
getdate.y
getenv.c
getinfo.c
getinfo.h
hash.c
hash.h
hostip.c
hostip.h
http.c
http.h
http_chunks.c
http_chunks.h
http_digest.c
http_digest.h
http_negotiate.c
http_negotiate.h
http_ntlm.c
http_ntlm.h
if2ip.c
if2ip.h
inet_ntoa_r.h
inet_pton.c
inet_pton.h
krb4.c
krb4.h
ldap.c
ldap.h
libcurl.def
libcurl.framework.make
libcurl.plist
libcurl.rc
llist.c
llist.h
makefile.amiga
makefile.dj
md5.c
md5.h
memdebug.c
memdebug.h
mprintf.c
multi.c
netrc.c
netrc.h
progress.c
progress.h
security.c
security.h
sendf.c
sendf.h
setup.h
share.c
share.h
speedcheck.c
speedcheck.h
ssluse.c
ssluse.h
strequal.c
strequal.h
strtok.c
strtok.h
strtoofft.c
strtoofft.h
telnet.c
telnet.h
timeval.c
timeval.h
transfer.c
transfer.h
url.c
url.h
urldata.h
version.c

README.ares

$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.
Something went wrong with that request. Please try again.