X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=configure.in;h=09e9bd5f761992c912d1b18ab4a2bf5d2b2a953c;hb=908d7a4bcee5adb7d4768499282cc83075d0332e;hp=2335ab88cfc1df47ed3ee18f4b9948fc16f00565;hpb=6f3dbca0c545842ba17d1fe9b393abb110efe8f2;p=wget diff --git a/configure.in b/configure.in index 2335ab88..09e9bd5f 100644 --- a/configure.in +++ b/configure.in @@ -58,16 +58,20 @@ AC_ARG_WITH(ssl, AC_ARG_ENABLE(opie, [ --disable-opie disable support for opie or s/key FTP login], -USE_OPIE=$enableval, USE_OPIE=yes) -test x"${USE_OPIE}" = xyes && AC_DEFINE([USE_OPIE], 1, +ENABLE_OPIE=$enableval, ENABLE_OPIE=yes) +test x"${ENABLE_OPIE}" = xyes && AC_DEFINE([ENABLE_OPIE], 1, [Define if you want the Opie support for FTP compiled in.]) AC_ARG_ENABLE(digest, [ --disable-digest disable support for HTTP digest authorization], -USE_DIGEST=$enableval, USE_DIGEST=yes) -test x"${USE_DIGEST}" = xyes && AC_DEFINE([USE_DIGEST], 1, +ENABLE_DIGEST=$enableval, ENABLE_DIGEST=yes) +test x"${ENABLE_DIGEST}" = xyes && AC_DEFINE([ENABLE_DIGEST], 1, [Define if you want the HTTP Digest Authorization compiled in.]) +AC_ARG_ENABLE(ntlm, +[ --disable-ntlm disable support for NTLM authorization], +[ENABLE_NTLM=$enableval], [ENABLE_NTLM=auto]) + AC_ARG_ENABLE(debug, [ --disable-debug disable support for debugging output], ENABLE_DEBUG=$enableval, ENABLE_DEBUG=yes) @@ -76,12 +80,12 @@ test x"${ENABLE_DEBUG}" = xyes && AC_DEFINE([ENABLE_DEBUG], 1, wget_need_md5=no -case "${USE_OPIE}${USE_DIGEST}" in +case "${ENABLE_OPIE}${ENABLE_DIGEST}" in *yes*) wget_need_md5=yes esac -if test x"$USE_OPIE" = xyes; then - OPIE_OBJ='ftp-opie$o' +if test x"$ENABLE_OPIE" = xyes; then + OPIE_OBJ='ftp-opie.o' fi AC_SUBST(OPIE_OBJ) @@ -105,7 +109,6 @@ test -z "$CC" && cc_specified=yes AC_PROG_CC AC_AIX -AM_PROG_CC_STDC dnl Turn on optimization by default. Specifically: dnl @@ -151,15 +154,6 @@ AC_C_VOLATILE AC_C_BIGENDIAN AC_C_PROTOTYPES -if test x"$am_cv_prog_cc_stdc" != xno; then - true - AC_SUBST(U, []) - AC_SUBST(ANSI2KNR, []) -else - AC_SUBST(U, [_]) - AC_SUBST(ANSI2KNR, [./ansi2knr]) -fi - dnl dnl Checks for header files that might be missing. dnl @@ -170,7 +164,7 @@ dnl HAVE_SYS_TYPES_H, etc. before including them. AC_HEADER_STDC AC_CHECK_HEADERS(sys/types.h sys/stat.h) dnl Now check for the others. -AC_CHECK_HEADERS(string.h strings.h stdarg.h limits.h unistd.h sys/time.h) +AC_CHECK_HEADERS(string.h strings.h limits.h unistd.h sys/time.h) AC_CHECK_HEADERS(termios.h sys/ioctl.h sys/select.h utime.h sys/utime.h) AC_CHECK_HEADERS(stdint.h inttypes.h signal.h setjmp.h pwd.h) AC_HEADER_TIME @@ -183,13 +177,20 @@ AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(long long) +dnl +dnl Check for large file support. This check needs to come fairly +dnl early because it could (in principle) affect whether functions and +dnl headers are available, whether they work, etc. +dnl +AC_SYS_LARGEFILE +AC_CHECK_SIZEOF(off_t) + dnl dnl Checks for non-universal or system-specific types. dnl AC_TYPE_SIZE_T AC_TYPE_PID_T AC_CHECK_TYPES(uint32_t) -AC_TYPE_SIGNAL AC_CHECK_TYPES(sig_atomic_t, [], [], [ #include #include @@ -206,9 +207,11 @@ dnl Checks for library functions. dnl AC_FUNC_ALLOCA AC_FUNC_MMAP +AC_FUNC_FSEEKO AC_CHECK_FUNCS(strdup strstr strcasecmp strncasecmp strpbrk memmove) AC_CHECK_FUNCS(gettimeofday mktime strptime strerror snprintf vsnprintf) -AC_CHECK_FUNCS(usleep select sigblock sigsetjmp signal symlink access isatty) +AC_CHECK_FUNCS(usleep select ftello sigblock sigsetjmp signal) +AC_CHECK_FUNCS(symlink access isatty) dnl dnl Call Wget's local macros defined in aclocal. @@ -217,13 +220,14 @@ WGET_STRUCT_UTIMBUF WGET_SOCKLEN_T WGET_FNMATCH WGET_NANOSLEEP +WGET_POSIX_CLOCK WGET_NSL_SOCKET dnl dnl Check if we need to compile in getopt.c. dnl AC_CHECK_FUNC(getopt_long, [], [ - GETOPT_OBJ='getopt$o' + GETOPT_OBJ='getopt.o' ]) AC_SUBST(GETOPT_OBJ) @@ -313,10 +317,18 @@ if test x"$with_ssl" != x"no"; then ssl_found_includes=no CPPFLAGS="$SSL_INCLUDES $wget_save_CPPFLAGS" + dnl Check for all the OpenSSL includes that Wget actually uses. + dnl This will prune both invalid installations and ancient + dnl versions of OpenSSL that we can't use. AC_MSG_CHECKING([for includes]) AC_COMPILE_IFELSE([ #include -#include +#include +#include +#include +#include +#include +#include ], [ AC_MSG_RESULT(found) ssl_found_includes=yes @@ -382,7 +394,7 @@ main(){return 0;} AC_DEFINE([HAVE_SSL], 1, [Define if SSL support should be compiled in.]) AC_SUBST(SSL_INCLUDES) - SSL_OBJ='gen_sslfunc$o' + SSL_OBJ='openssl.o' AC_SUBST(SSL_OBJ) else LDFLAGS=$wget_save_LDFLAGS @@ -404,6 +416,26 @@ main(){return 0;} CPPFLAGS=$wget_save_CPPFLAGS fi +dnl Enable NTLM if requested and if SSL is available. +NTLM_OBJ='' +if test x"$ssl_success" = xyes +then + if test x"$ENABLE_NTLM" != xno + then + AC_DEFINE([ENABLE_NTLM], 1, + [Define if you want the NTLM authorization support compiled in.]) + NTLM_OBJ='http-ntlm.o' + fi +else + dnl If SSL is unavailable and the user explicitly requested NTLM, + dnl abort. + if test x"$ENABLE_NTLM" = xyes + then + AC_MSG_ERROR([NTLM authorization requested and OpenSSL not found; aborting]) + fi +fi +AC_SUBST(NTLM_OBJ) + dnl dnl Find an md5 implementation. dnl @@ -413,7 +445,7 @@ then dnl This should be moved to an AC_DEFUN, but I'm not sure how to dnl manipulate MD5_OBJ from the defun. - MD5_OBJ='gen-md5$o' + MD5_OBJ='gen-md5.o' found_md5=no dnl Check for the system MD5 library on Solaris. We don't check for @@ -424,7 +456,7 @@ then AC_CHECK_LIB(md5, md5_calc, [ dnl Some installations have bogus in the compiler's dnl include path, making the system md5 library useless. - AC_MSG_CHECKING([whether md5.h can be included]) + AC_MSG_CHECKING([for working md5.h]) AC_COMPILE_IFELSE([#include ], [ AC_MSG_RESULT(yes) @@ -449,7 +481,7 @@ then 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], 1, [Define to use built-in MD5.]) - MD5_OBJ="$MD5_OBJ gnu-md5\$o" + MD5_OBJ="$MD5_OBJ gnu-md5.o" found_md5=yes AC_MSG_NOTICE([using the GNU MD5 implementation]) fi @@ -464,73 +496,67 @@ dnl ********************************************************************** dnl dnl If --enable-ipv6 is specified, we try to use IPv6 (as long as dnl getaddrinfo is also present). If --disable-ipv6 is specified, we -dnl don't use IPv6 or getaddrinfo. +dnl don't use IPv6 or getaddrinfo. Otherwise we detect IPv6 and use +dnl it where available. dnl -ipv6= -check_for_ipv6=no AC_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 - ;; - *) + no) + AC_MSG_NOTICE([disabling IPv6 at user request]) + dnl Disable IPv6 checking + ipv6=no + ;; + yes) + dnl IPv6 explicitly enabled: force its use (abort if unavailable). + ipv6=yes + force_ipv6=yes + ;; + auto) + dnl Auto-detect IPv6, i.e. check for IPv6, but don't force it. + ipv6=yes + ;; + *) + AC_MSG_ERROR([Invalid --enable-ipv6 argument \`$enable_ipv6']) + ;; + esac + ], [ + dnl If nothing is specified, assume auto-detection. ipv6=yes - ;; - esac], - dnl If unspecified, check for IPv6 and use it where available. - [check_for_ipv6=yes] + ] ) -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.] - ) - ) - ],[ +if test "X$ipv6" = "Xyes"; then + AC_CHECK_FUNCS(getaddrinfo, [], [ 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(,[ +if test "X$ipv6" = "Xyes"; then + PROTO_INET6([], [ AC_MSG_NOTICE([Disabling IPv6 support: your system does not support the PF_INET6 protocol family]) ipv6=no ]) fi -if 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']) +if test "X$ipv6" = "Xyes"; then + TYPE_STRUCT_SOCKADDR_IN6([],[ + AC_MSG_NOTICE([Disabling IPv6 support: your system does not support \`struct sockaddr_in6']) ipv6=no ]) if test "X$ipv6" = "Xyes"; then + WGET_STRUCT_SOCKADDR_STORAGE MEMBER_SIN6_SCOPE_ID fi fi if test "X$ipv6" = "Xyes"; then AC_DEFINE([ENABLE_IPV6], 1, [Define if IPv6 support is enabled.]) + AC_MSG_NOTICE([Enabling support for IPv6.]) +elif test "x$force_ipv6" = "xyes"; then + AC_MSG_ERROR([IPv6 support requested but not found; aborting]) fi @@ -555,13 +581,13 @@ dnl command-line options, such as `-I'. Now we depend on makeinfo to dnl build the Info documentation. dnl -AC_CHECK_PROGS(MAKEINFO, makeinfo) +AC_CHECK_PROGS(MAKEINFO, [makeinfo], [true]) dnl dnl Find perl and pod2man dnl -AC_PATH_PROGS(PERL, perl5 perl, no) +AC_PATH_PROGS(PERL, [perl5 perl], no) AC_PATH_PROG(POD2MAN, pod2man, no) if test "x${POD2MAN}" = xno; then