README.ares 2.6 KB

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