Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: curl-7_15_4
Fetching contributors…

Cannot retrieve contributors at this time

file 73 lines (55 sloc) 2.521 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
$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.