?? configure.in
字號:
dnl shl_load(). AC_CHECK_LIB(dl,dlopen) AC_CHECK_LIB(dl,shl_load) ssl_success=no dnl Now try to find SSL libraries in each of the likely SSL roots. for ssl_root in $ssl_all_roots do if test x"$ssl_root" = x"system-default"; then dnl Try the default include and library locations. SSL_INCLUDES= else dnl Try this specific root. SSL_INCLUDES=-I$ssl_root/include dnl It's OK to use -R directly because libtool will dnl interpret it for us. LDFLAGS="-L$ssl_root/lib -R$ssl_root/lib $wget_save_LDFLAGS" fi AC_MSG_RESULT([Looking for SSL libraries in $ssl_root]) dnl Check whether the compiler can find the include files. On dnl some systems Gcc finds libraries in /usr/local/lib, but fails dnl to find the includes in /usr/local/include. ssl_found_includes=no CPPFLAGS="$SSL_INCLUDES $wget_save_CPPFLAGS" AC_MSG_CHECKING([for includes]) AC_TRY_CPP([#include <openssl/ssl.h>#include <openssl/rsa.h>], AC_MSG_RESULT(found); ssl_found_includes=yes, AC_MSG_RESULT([not found]) ) if test x"$ssl_found_includes" = xno; then continue fi ssl_link_failure=no dnl Make sure that the checks don't run afoul of the cache. It dnl would be nicer to temporarily turn off the cache, but dnl apparently Autoconf doesn't allow that. unset ac_cv_lib_crypto_RSA_new unset ac_cv_lib_ssl_SSL_new dnl These checks need to be in this order, or you'll get a link dnl failure if you use a static libcrypto.a and libssl.a rather dnl than shared libraries. AC_CHECK_LIB(crypto, RSA_new, , ssl_link_failure=yes) AC_CHECK_LIB(ssl, SSL_new, , ssl_link_failure=yes) if test x"$ssl_link_failure" = xyes; then dnl One or both libs failed to link. continue fi dnl The libraries link. But we still need to check if the program dnl linked with those libraries under these settings with run. On dnl some systems (Solaris), Gcc adds -L/usr/local/lib to the dnl linking line, but fails to add -R/usr/local/lib, thus creating dnl executables that link, but fail to run. dnl If we are cross-compiling, just assume that working linkage dnl implies working executable. ssl_run_failure=no AC_MSG_CHECKING([whether SSL libs are resolved at runtime]) AC_TRY_RUN([int RSA_new();int SSL_new();main(){return 0;}], AC_MSG_RESULT(yes), AC_MSG_RESULT(no); ssl_run_failure=yes, AC_MSG_RESULT(cross) ) if test x"$ssl_run_failure" = xno; then ssl_success=yes break fi done if test x"$ssl_success" = xyes; then dnl AC_MSG_RESULT doesn't look right here, but I'm not sure what dnl to use instead. AC_MSG_RESULT([Compiling in support for SSL in $ssl_root]) AC_DEFINE(HAVE_SSL) AC_SUBST(SSL_INCLUDES) SSL_OBJ='gen_sslfunc$o' AC_SUBST(SSL_OBJ) else LDFLAGS=$wget_save_LDFLAGS LIBS=$wget_save_LIBS dnl If linking with SSL was forced rather than auto-detected, then dnl bail out if SSL failed. if test x"$wget_force_ssl" = x"yes"; then exec >&2 echo "ERROR: Failed to find OpenSSL libraries." exit 2 fi fi dnl Restore the compiler setting. CC=$wget_save_CC dnl Restore the CPPFLAGS. Do this regardless of whether linking dnl with SSL succeeded -- SSL includes will be handled using dnl @SSL_INCLUDES@. CPPFLAGS=$wget_save_CPPFLAGSfidnldnl Find an md5 implementation.dnlif test x"$wget_need_md5" = xyesthen MD5_OBJ='gen-md5$o' found_md5=no dnl Check for the system MD5 library on Solaris. We don't check for dnl something simple like "MD5Update" because there are a number of dnl MD5 implementations that use that name. md5_calc is, hopefully, dnl specific to the Solaris MD5 library. if test x"$found_md5" = xno; then AC_CHECK_LIB(md5, md5_calc, [ dnl Some installations have bogus <md5.h> in the compiler's dnl include path, making the system md5 library useless. AC_MSG_CHECKING([whether md5.h can be included]) AC_COMPILE_IFELSE([#include <md5.h> ], [ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_SOLARIS_MD5) LIBS="-lmd5 $LIBS" found_md5=yes AC_MSG_NOTICE([using the Solaris MD5 implementation]) ], [AC_MSG_RESULT(no)]) ]) fi dnl Then see if we're linking OpenSSL anyway; if yes, use its md5 dnl implementation. if test x"$found_md5" = xno; then if test x"$ssl_success" = xyes; then AC_DEFINE(HAVE_OPENSSL_MD5) found_md5=yes AC_MSG_NOTICE([using the OpenSSL MD5 implementation]) fi fi dnl If none of the above worked, use the one we ship with Wget. if test x"$found_md5" = xno; then AC_DEFINE(HAVE_BUILTIN_MD5) MD5_OBJ="$MD5_OBJ gnu-md5\$o" found_md5=yes AC_MSG_NOTICE([using the GNU MD5 implementation]) fifiAC_DEFINE(HAVE_MD5)AC_SUBST(MD5_OBJ)dnl **********************************************************************dnl Checks for IPv6dnl **********************************************************************ipv6=check_for_ipv6=noAC_ARG_ENABLE(ipv6, AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]), [case "${enable_ipv6}" in no) AC_MSG_NOTICE([Disabling IPv6 at user request]) ipv6=no ;; *) ipv6=yes ;; esac], [check_for_ipv6=no])if test "X$ipv6" = "Xyes" || test "X$check_for_ipv6" = "Xyes"; then AC_CHECK_FUNCS(getaddrinfo,[ GETADDRINFO_AI_ADDRCONFIG( AC_DEFINE( [HAVE_GETADDRINFO_AI_ADDRCONFIG], 1, [Define if the system headers support the AI_ADDRCONFIG flag.] ) ) GETADDRINFO_AI_V4MAPPED( AC_DEFINE( [HAVE_GETADDRINFO_AI_V4MAPPED], 1, [Define if the system headers support the AI_V4MAPPED flag.] ) ) GETADDRINFO_AI_ALL( AC_DEFINE( [HAVE_GETADDRINFO_AI_ALL], 1, [Define if the system headers support the AI_ALL flag.] ) ) ],[ AC_MSG_NOTICE([Disabling IPv6 support: your system does not support getaddrinfo(3)]) ipv6=no ])fi if test "X$ipv6" = "Xyes" || test "X$check_for_ipv6" = "Xyes"; then PROTO_INET6(,[ AC_MSG_NOTICE([Disabling IPv6 support: your system does not support the PF_INET6 protocol family]) ipv6=no ])fiif test "X$ipv6" = "Xyes" || test "X$check_for_ipv6" = "Xyes"; then TYPE_STRUCT_SOCKADDR_IN6([ ipv6=yes ],[ AC_MSG_NOTICE([Disabling IPv6 support: your system does not support 'struct sockaddr_in6']) ipv6=no ]) if test "X$ipv6" = "Xyes"; then MEMBER_SIN6_SCOPE_ID fifiif test "X$ipv6" = "Xyes"; then AC_DEFINE([ENABLE_IPV6], 1, [Define if IPv6 support is enabled.])fidnldnl Set of available languages.dnlALL_LINGUAS=`(cd ${srcdir}/po && ls *.po | sed -e 's/\.po$//' | tr '\012' ' ')`dnl Originally this used to be static, looking like this:dnl ALL_LINGUAS="cs de hr it ..."dnl The downside was that configure needed to be rebuilt whenever adnl new language was added.dnl internationalization macrosWGET_WITH_NLSdnldnl Find makeinfo. If makeinfo is not found, look for Emacs. Ifdnl Emacs cannot be found, look for XEmacs.dnlAC_CHECK_PROGS(MAKEINFO, makeinfo emacs xemacs)case "${MAKEINFO}" in *makeinfo) MAKEINFO="${MAKEINFO} \$(srcdir)/wget.texi" ;; *emacs | *xemacs) MAKEINFO="${MAKEINFO} -batch -q -no-site-file -eval '(find-file \"\$(srcdir)/wget.texi\")' -l texinfmt -f texinfo-format-buffer -f save-buffer" ;; *) MAKEINFO="makeinfo \$(srcdir)/wget.texi" ;;esacdnldnl Find perl and pod2mandnlAC_PATH_PROGS(PERL, perl5 perl, no)AC_PATH_PROG(POD2MAN, pod2man, no)if test "x${POD2MAN}" = xno; then COMMENT_IF_NO_POD2MAN="# "else COMMENT_IF_NO_POD2MAN=fiAC_SUBST(COMMENT_IF_NO_POD2MAN)dnldnl Create outputdnlAC_OUTPUT([Makefile src/Makefile doc/Makefile util/Makefile po/Makefile.in windows/Makefile],[WGET_PROCESS_POtest -z "$CONFIG_HEADERS" || echo timestamp > stamp-h])
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -