diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-08-11 12:29:55 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-08-11 12:29:55 +0000 |
| commit | f2d4faad083ffb1bdf622090f63283150bd95aeb (patch) | |
| tree | dbcff240417b7879e93958a2fbbf493b83a943bc /configure | |
| parent | 7ca1b43eddd1aba1c71a38dfb46b5ac5685b43d0 (diff) | |
2006-08-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
To add asynchronous DNS support(libares):
* src/AbstractCommand.h
(setNameResolverCheck): New function.
(disableNameResolverCheck): New function
(resolveHostname): New function.
* src/AbstractCommand.cc
(setNameResolverCheck): New function.
(disableNameResolverCheck): New function
(resolveHostname): New function.
* src/FtpInitiateConnectionCommand.h
(nameResolver): New function.
* src/FtpInitiateConnectionCommand.cc
(Util.h): Included.
(FtpInitiateConnectionCommand): Call disableReadCheckSocket,
disableWriteCheckSocket.
(~FtpInitiateConnectionCommand): Call disableNameResolverCheck.
(executeInternal): Added async DNS support.
* src/HttpInitiateConnectionCommand.h
(nameResolver): New function.
* src/HttpInitiateConnectionCommand.cc
(DlRetryEx.h): Included.
(HttpInitiateConnectionCommand): Call disableReadCheckSocket,
disableWriteCheckSocket.
(~HttpInitiateConnectionCommand): Call disableNameResolverCheck.
(executeInternal): Added async DNS support.
* src/NameResolver.h: New class. Note: #include <ares.h> is
surrounded
by extern "C" declaration.
* src/NameResolver.cc: New class.
* src/Util.h:
(isNumberAndDotsNotation): New function
* src/Util.cc
(isNumberAndDotsNotation): New function.
* src/DownloadEngine.h
(NameResolver.h): Included.
(NameResolverEntry): New class.
(NameResolverEntries): New type definition.
(addNameResolverCheck): New function.
(deleteNameResolverCheck): New function.
* src/DownloadEngine.cc
(run): Initialize cp with 0.
(SetDescriptor::operator()): Added for NameResolverEntry.
(AccumulateActiveUuid::operator()): Added for NameResolverEntry.
(waitData): Check nameResolver entries.
(updateFdSet): Update fds in nameResolver entries.
(addNameResolverCheck): New function.
(deleteNameResolverCheck): new function.
* src/PeerInteractionCommand.cc
(executeInternal): Fixed wrong socket handling.
* src/main.cc
(main): Fixed the initial value of PREF_LOWEST_SPEED_LIMIT
option to 0.
* src/Util.cc
(fileChecksum): Removed the call to ctx.digestReset().
Diffstat (limited to 'configure')
| -rwxr-xr-x | configure | 164 |
1 files changed, 163 insertions, 1 deletions
@@ -311,7 +311,7 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS localedir CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB YACC XML2_CONFIG XML_CPPFLAGS XML_LIBS LIBGNUTLS_CONFIG LIBGNUTLS_CFLAGS LIBGNUTLS_LIBS LIBGCRYPT_CONFIG LIBGCRYPT_CFLAGS LIBGCRYPT_LIBS OPENSSL_LIBS OPENSSL_CFLAGS ENABLE_BITTORRENT_TRUE ENABLE_BITTORRENT_FALSE ENABLE_METALINK_TRUE ENABLE_METALINK_FALSE ALLOCA CPP EGREP MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE build build_cpu build_vendor build_os host host_cpu host_vendor host_os GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS localedir CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB YACC XML2_CONFIG XML_CPPFLAGS XML_LIBS LIBGNUTLS_CONFIG LIBGNUTLS_CFLAGS LIBGNUTLS_LIBS LIBGCRYPT_CONFIG LIBGCRYPT_CFLAGS LIBGCRYPT_LIBS OPENSSL_LIBS OPENSSL_CFLAGS LIBARES_LIBS LIBARES_CPPFLAGS ENABLE_BITTORRENT_TRUE ENABLE_BITTORRENT_FALSE ENABLE_METALINK_TRUE ENABLE_METALINK_FALSE HAVE_LIBARES_TRUE HAVE_LIBARES_FALSE ALLOCA CPP EGREP MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE build build_cpu build_vendor build_os host host_cpu host_vendor host_os GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -877,12 +877,14 @@ Optional Packages: --with-gnutls use gnutls library if installed. Default: yes --with-openssl use openssl library if installed. Default: yes --with-libxml2 use libxml2 library if installed. Default: yes + --with-ares use ares library if installed. Default: yes --with-xml-prefix=PFX Prefix where libxml is installed (optional) --with-xml-exec-prefix=PFX Exec prefix where libxml is installed (optional) --with-libgnutls-prefix=PFX Prefix where libgnutls is installed (optional) --with-libgcrypt-prefix=PFX prefix where LIBGCRYPT is installed (optional) --with-openssl-prefix=PREFIX Prefix where OpenSSL installed (optional) + --with-libares-prefix=PREFIX Prefix where libares installed (optional) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir @@ -1948,6 +1950,14 @@ else with_libxml2=yes fi; +# Check whether --with-ares or --without-ares was given. +if test "${with_ares+set}" = set; then + withval="$with_ares" + with_libares=$withval +else + with_libares=yes +fi; + # Check whether --enable-bittorrent or --disable-bittorrent was given. if test "${enable_bittorrent+set}" = set; then enableval="$enable_bittorrent" @@ -4625,6 +4635,115 @@ CPPFLAGS=$CPPFLAGS_save fi +if test "x$with_libares" = "xyes"; then + + +# Check whether --with-libares-prefix or --without-libares-prefix was given. +if test "${with_libares_prefix+set}" = set; then + withval="$with_libares_prefix" + libares_prefix=$withval +else + libares_prefix="" +fi; + +if test "x$libares_prefix" = "x"; then + libares_prefix="/usr/local" +fi + +libares_prefix_lib=$libares_prefix/lib +libares_prefix_include=$libares_prefix/include + +LIBS_save=$LIBS +CPPFLAGS_save=$CPPFLAGS + +LIBS="-L$libares_prefix_lib $LIBS" +CPPFLAGS="-I$libares_prefix_include $CPPFLAGS" + +echo "$as_me:$LINENO: checking for ares_init in -lares" >&5 +echo $ECHO_N "checking for ares_init in -lares... $ECHO_C" >&6 +if test "${ac_cv_lib_ares_ares_init+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lares $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char ares_init (); +int +main () +{ +ares_init (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_ares_ares_init=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_ares_ares_init=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_ares_ares_init" >&5 +echo "${ECHO_T}$ac_cv_lib_ares_ares_init" >&6 +if test $ac_cv_lib_ares_ares_init = yes; then + have_libares=yes +fi + +if test "x$have_libares" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBARES 1 +_ACEOF + + LIBARES_LIBS="-L$libares_prefix_lib -lares" + LIBARES_CPPFLAGS="-I$libares_prefix_include" + + +fi + + +LIBS=$LIBS_save +CPPFLAGS=$CPPFLAGS_save + +fi + # Define variables based on the result of the checks for libraries. if test "x$have_libgnutls" = "xyes" || test "x$have_openssl" = "xyes"; then @@ -4701,6 +4820,30 @@ fi fi +if test "x$have_libares" = "xyes"; then + + +if true; then + HAVE_LIBARES_TRUE= + HAVE_LIBARES_FALSE='#' +else + HAVE_LIBARES_TRUE='#' + HAVE_LIBARES_FALSE= +fi + +else + + +if false; then + HAVE_LIBARES_TRUE= + HAVE_LIBARES_FALSE='#' +else + HAVE_LIBARES_TRUE='#' + HAVE_LIBARES_FALSE= +fi + +fi + # Checks for header files. ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -5308,6 +5451,7 @@ _ACEOF fi +#AC_HEADER_STDC echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then @@ -11672,6 +11816,20 @@ echo "$as_me: error: conditional \"ENABLE_METALINK\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${HAVE_LIBARES_TRUE}" && test -z "${HAVE_LIBARES_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBARES\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"HAVE_LIBARES\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_LIBARES_TRUE}" && test -z "${HAVE_LIBARES_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBARES\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"HAVE_LIBARES\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files @@ -12279,10 +12437,14 @@ s,@LIBGCRYPT_CFLAGS@,$LIBGCRYPT_CFLAGS,;t t s,@LIBGCRYPT_LIBS@,$LIBGCRYPT_LIBS,;t t s,@OPENSSL_LIBS@,$OPENSSL_LIBS,;t t s,@OPENSSL_CFLAGS@,$OPENSSL_CFLAGS,;t t +s,@LIBARES_LIBS@,$LIBARES_LIBS,;t t +s,@LIBARES_CPPFLAGS@,$LIBARES_CPPFLAGS,;t t s,@ENABLE_BITTORRENT_TRUE@,$ENABLE_BITTORRENT_TRUE,;t t s,@ENABLE_BITTORRENT_FALSE@,$ENABLE_BITTORRENT_FALSE,;t t s,@ENABLE_METALINK_TRUE@,$ENABLE_METALINK_TRUE,;t t s,@ENABLE_METALINK_FALSE@,$ENABLE_METALINK_FALSE,;t t +s,@HAVE_LIBARES_TRUE@,$HAVE_LIBARES_TRUE,;t t +s,@HAVE_LIBARES_FALSE@,$HAVE_LIBARES_FALSE,;t t s,@ALLOCA@,$ALLOCA,;t t s,@CPP@,$CPP,;t t s,@EGREP@,$EGREP,;t t |
