]> sjero.net Git - wget/blobdiff - configure.in
[svn] Large file support added. Published in <87psyr6jn7.fsf@xemacs.org>.
[wget] / configure.in
index 6d78831172b649c23d2c4928f0abbce1d6e0cfa1..f2872f78cf86727647e539f3e6f4cebbb3bf318f 100644 (file)
@@ -51,11 +51,6 @@ AC_DEFINE_UNQUOTED([OS_TYPE], "$host_os",
 dnl
 dnl Process features.
 dnl
-AC_ARG_WITH(socks,
-  [  --with-socks            use the socks library],
-  [AC_DEFINE([HAVE_SOCKS], 1,
-             [Define if you wish to compile with socks support.])]
-)
 
 AC_ARG_WITH(ssl,
 [[  --with-ssl[=SSL-ROOT]   link with SSL support [default=auto]
@@ -109,12 +104,16 @@ test -z "$CFLAGS"  && CFLAGS= auto_cflags=1
 test -z "$CC" && cc_specified=yes
 
 AC_PROG_CC
+AC_AIX
+AM_PROG_CC_STDC
 
+dnl Turn on optimization by default.  Specifically:
 dnl
 dnl if the user hasn't specified CFLAGS, then
-dnl   if compiler is gcc, then use -O2 and some warning flags
-dnl   else use os-specific flags or -O
-dnl
+dnl   if compiler is gcc, then
+dnl     use -O2 and some warning flags
+dnl   else
+dnl     use os-specific flags or -O
 if test -n "$auto_cflags"; then
   if test -n "$GCC"; then
     CFLAGS="$CFLAGS -O2 -Wall -Wno-implicit"
@@ -127,11 +126,6 @@ if test -n "$auto_cflags"; then
   fi
 fi
 
-dnl
-dnl Handle AIX
-dnl
-AC_AIX
-
 dnl
 dnl Configure our included libtool and make sure it's regenerated when needed
 dnl
@@ -157,8 +151,16 @@ AC_C_VOLATILE
 AC_C_BIGENDIAN
 AC_C_PROTOTYPES
 
+if test x"$am_cv_prog_cc_stdc" != xno; then :
+  AC_SUBST(U, [])
+  AC_SUBST(ANSI2KNR, [])
+else
+  AC_SUBST(U, [_])
+  AC_SUBST(ANSI2KNR, [./ansi2knr])
+fi
+
 dnl
-dnl Checks for headers that might be missing.
+dnl Checks for header files that might be missing.
 dnl
 
 dnl Check for basic headers, even those we assume the presence of.
@@ -167,7 +169,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 unistd.h sys/time.h)
+AC_CHECK_HEADERS(string.h strings.h stdarg.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
@@ -180,6 +182,14 @@ 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
@@ -203,9 +213,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.
@@ -228,13 +240,6 @@ dnl
 dnl Checks for libraries.
 dnl
 
-dnl #### This appears to be deficient with later versions of SOCKS.
-if test "x${with_socks}" = xyes
-then
-  AC_CHECK_LIB(resolv, main)
-  AC_CHECK_LIB(socks, Rconnect)
-fi
-
 dnl $with_ssl can be one of:
 dnl  - empty string or "auto", meaning autodetect SSL and use it if found.
 dnl  - "yes", meaning link with SSL or bail out.
@@ -318,13 +323,15 @@ if test x"$with_ssl" != x"no"; then
     CPPFLAGS="$SSL_INCLUDES $wget_save_CPPFLAGS"
 
     AC_MSG_CHECKING([for includes])
-
-    AC_TRY_CPP([#include <openssl/ssl.h>
+    AC_COMPILE_IFELSE([
+#include <openssl/ssl.h>
 #include <openssl/rsa.h>
-],
-      AC_MSG_RESULT(found); ssl_found_includes=yes,
+    ], [
+      AC_MSG_RESULT(found)
+      ssl_found_includes=yes
+    ], [
       AC_MSG_RESULT([not found])
-    )
+    ])
 
     if test x"$ssl_found_includes" = xno; then
       continue
@@ -426,7 +433,7 @@ 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_MSG_CHECKING([for working md5.h])
       AC_COMPILE_IFELSE([#include <md5.h>
                         ], [
         AC_MSG_RESULT(yes)
@@ -487,33 +494,21 @@ AC_ARG_ENABLE(ipv6,
 )
 
 if test "X$ipv6" = "Xyes" || test "X$check_for_ipv6" = "Xyes"; then
-  AC_CHECK_FUNCS(getaddrinfo,[
-    GETADDRINFO_AI_ADDRCONFIG(
+  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(,[
+  PROTO_INET6([], [
     AC_MSG_NOTICE([Disabling IPv6 support: your system does not support the PF_INET6 protocol family])
     ipv6=no
   ])
@@ -527,6 +522,7 @@ if test "X$ipv6" = "Xyes" || test "X$check_for_ipv6" = "Xyes"; then
     ipv6=no
   ])
   if test "X$ipv6" = "Xyes"; then
+    WGET_STRUCT_SOCKADDR_STORAGE
     MEMBER_SIN6_SCOPE_ID
   fi
 fi
@@ -550,17 +546,14 @@ dnl internationalization macros
 WGET_WITH_NLS
 
 dnl
-dnl Find makeinfo.  If makeinfo is not found, look for Emacs.  If
-dnl Emacs cannot be found, look for XEmacs.
+dnl Find makeinfo.  We used to provide support for Emacs processing
+dnl Texinfo using `emacs -batch -eval ...' where makeinfo is
+dnl unavailable, but that broke with the addition of makeinfo-specific
+dnl command-line options, such as `-I'.  Now we depend on makeinfo to
+dnl build the Info documentation.
 dnl
 
-AC_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"            ;;
-esac
+AC_CHECK_PROGS(MAKEINFO, makeinfo)
 
 dnl
 dnl Find perl and pod2man