Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
.cvsignore
Makefile.Watcom
Makefile.am
Makefile.b32
Makefile.inc
Makefile.m32
Makefile.netware
Makefile.riscos
Makefile.vc6
README.ares
README.curlx
README.encoding
README.hostip
README.httpauth
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-win32ce.h
config.dj
connect.c
connect.h
content_encoding.c
content_encoding.h
cookie.c
cookie.h
curllib.dsw
curlx.h
dict.c
dict.h
easy.c
easyif.h
escape.c
escape.h
file.c
file.h
formdata.c
formdata.h
ftp.c
ftp.h
getenv.c
getinfo.c
getinfo.h
hash.c
hash.h
hostares.c
hostasyn.c
hostip.c
hostip.h
hostip4.c
hostip6.c
hostsyn.c
hostthre.c
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_ntop.c
inet_ntop.h
inet_pton.c
inet_pton.h
krb4.c
krb4.h
ldap.c
ldap.h
libcurl.def
libcurl.framework.make
libcurl.imp
libcurl.plist
libcurl.rc
llist.c
llist.h
makefile.amiga
makefile.dj
md5.c
md5.h
memdebug.c
memdebug.h
memory.h
mprintf.c
msvcproj.foot
msvcproj.head
multi.c
multiif.h
netrc.c
netrc.h
nwlib.c
parsedate.c
progress.c
progress.h
security.c
security.h
select.c
select.h
sendf.c
sendf.h
setup.h
share.c
share.h
speedcheck.c
speedcheck.h
ssluse.c
ssluse.h
strequal.c
strequal.h
strerror.c
strerror.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 c-ares For Asynch Name Resolves
          ===========================================================

c-ares: 
  http://daniel.haxx.se/projects/c-ares/

NOTE
  libcurl 7.11.1 builds with c-ares 1.1.0, but 7.11.2 and later require c-ares
  1.2.0 or alter.

  Once upon the time libcurl built fine with the "original" ares. That is no
  longer true. You need to use c-ares. c-ares is based on ares but improved.

Build c-ares
============

1. unpack the c-ares archive
2. cd c-ares-dir
3. ./configure
4. make

Build libcurl to use c-ares in the curl source tree
===================================================

1. name the c-ares source directory 'ares' in the curl source directory
   (if you have checked out the curl sources from CVS, you will already have
   c-ares in a directory named ares).
2. ./configure --enable-ares
3. make

Build libcurl to use an installed c-ares
========================================

1. ./configure --enable-ares=/path/to/ares/install
2. make

c-ares and ipv6
===============

If the configure script enables IPv6 support you need to explicitly disable
that (--disable-ipv6) since c-ares isn't IPv6 compatible (yet).

c-ares on win32
===============
(description brought by Dominick Meglio)

First I compiled c-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.