1999-12-02 02:42:23 -05:00
|
|
|
dnl Template file for GNU Autoconf
|
2001-05-28 18:02:47 -04:00
|
|
|
dnl Copyright (C) 1995, 1996, 1997, 2001 Free Software Foundation, Inc.
|
1999-12-02 02:42:23 -05:00
|
|
|
|
|
|
|
dnl This program is free software; you can redistribute it and/or modify
|
|
|
|
dnl it under the terms of the GNU General Public License as published by
|
|
|
|
dnl the Free Software Foundation; either version 2 of the License, or
|
|
|
|
dnl (at your option) any later version.
|
|
|
|
|
|
|
|
dnl This program is distributed in the hope that it will be useful,
|
|
|
|
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
dnl GNU General Public License for more details.
|
|
|
|
|
|
|
|
dnl You should have received a copy of the GNU General Public License
|
|
|
|
dnl along with this program; if not, write to the Free Software
|
|
|
|
dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
|
2002-05-17 22:55:17 -04:00
|
|
|
dnl In addition, as a special exception, the Free Software Foundation
|
|
|
|
dnl gives permission to link the code of its release of Wget with the
|
|
|
|
dnl OpenSSL project's "OpenSSL" library (or with modified versions of it
|
|
|
|
dnl that use the same license as the "OpenSSL" library), and distribute
|
|
|
|
dnl the linked executables. You must obey the GNU General Public License
|
|
|
|
dnl in all respects for all of the code used other than "OpenSSL". If you
|
|
|
|
dnl modify this file, you may extend this exception to your version of the
|
|
|
|
dnl file, but you are not obligated to do so. If you do not wish to do
|
|
|
|
dnl so, delete this exception statement from your version.
|
|
|
|
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl
|
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
dnl
|
|
|
|
|
2003-11-04 10:28:18 -05:00
|
|
|
AC_INIT([src/version.c])
|
2003-11-04 10:28:41 -05:00
|
|
|
AC_PREREQ(2.57)
|
2003-11-04 10:28:18 -05:00
|
|
|
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl
|
|
|
|
dnl What version of Wget are we building?
|
|
|
|
dnl
|
|
|
|
VERSION=`sed -e 's/^.*"\(.*\)";$/\1/' ${srcdir}/src/version.c`
|
2003-11-03 19:08:32 -05:00
|
|
|
AC_MSG_NOTICE([configuring for GNU Wget $VERSION])
|
1999-12-02 02:42:23 -05:00
|
|
|
AC_SUBST(VERSION)
|
|
|
|
PACKAGE=wget
|
|
|
|
AC_SUBST(PACKAGE)
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl Get cannonical host
|
|
|
|
dnl
|
|
|
|
AC_CANONICAL_HOST
|
2003-11-04 09:46:19 -05:00
|
|
|
AC_DEFINE_UNQUOTED([OS_TYPE], "$host_os",
|
|
|
|
[Define to be the name of the operating system.])
|
1999-12-02 02:42:23 -05:00
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl Process features.
|
|
|
|
dnl
|
|
|
|
|
2000-12-05 18:09:41 -05:00
|
|
|
AC_ARG_WITH(ssl,
|
2003-09-05 15:33:44 -04:00
|
|
|
[[ --with-ssl[=SSL-ROOT] link with SSL support [default=auto]
|
|
|
|
--without-ssl disable SSL autodetection]])
|
2000-12-05 18:09:41 -05:00
|
|
|
|
1999-12-02 02:42:23 -05:00
|
|
|
AC_ARG_ENABLE(opie,
|
|
|
|
[ --disable-opie disable support for opie or s/key FTP login],
|
2005-04-06 16:42:22 -04:00
|
|
|
ENABLE_OPIE=$enableval, ENABLE_OPIE=yes)
|
|
|
|
test x"${ENABLE_OPIE}" = xyes && AC_DEFINE([ENABLE_OPIE], 1,
|
2003-11-04 09:46:19 -05:00
|
|
|
[Define if you want the Opie support for FTP compiled in.])
|
1999-12-02 02:42:23 -05:00
|
|
|
|
|
|
|
AC_ARG_ENABLE(digest,
|
|
|
|
[ --disable-digest disable support for HTTP digest authorization],
|
2005-04-06 16:42:22 -04:00
|
|
|
ENABLE_DIGEST=$enableval, ENABLE_DIGEST=yes)
|
|
|
|
test x"${ENABLE_DIGEST}" = xyes && AC_DEFINE([ENABLE_DIGEST], 1,
|
2003-11-04 09:46:19 -05:00
|
|
|
[Define if you want the HTTP Digest Authorization compiled in.])
|
1999-12-02 02:42:23 -05:00
|
|
|
|
2005-04-06 16:42:22 -04:00
|
|
|
AC_ARG_ENABLE(ntlm,
|
|
|
|
[ --disable-ntlm disable support for NTLM authorization],
|
|
|
|
[ENABLE_NTLM=$enableval], [ENABLE_NTLM=auto])
|
|
|
|
|
1999-12-02 02:42:23 -05:00
|
|
|
AC_ARG_ENABLE(debug,
|
|
|
|
[ --disable-debug disable support for debugging output],
|
2003-10-07 20:05:51 -04:00
|
|
|
ENABLE_DEBUG=$enableval, ENABLE_DEBUG=yes)
|
2003-11-04 10:28:18 -05:00
|
|
|
test x"${ENABLE_DEBUG}" = xyes && AC_DEFINE([ENABLE_DEBUG], 1,
|
2003-11-04 09:46:19 -05:00
|
|
|
[Define if you want the debug output support compiled in.])
|
1999-12-02 02:42:23 -05:00
|
|
|
|
2001-11-17 23:36:21 -05:00
|
|
|
wget_need_md5=no
|
|
|
|
|
2005-04-06 16:42:22 -04:00
|
|
|
case "${ENABLE_OPIE}${ENABLE_DIGEST}" in
|
1999-12-02 02:42:23 -05:00
|
|
|
*yes*)
|
2001-11-17 23:36:21 -05:00
|
|
|
wget_need_md5=yes
|
1999-12-02 02:42:23 -05:00
|
|
|
esac
|
2005-04-06 16:42:22 -04:00
|
|
|
if test x"$ENABLE_OPIE" = xyes; then
|
1999-12-02 02:42:23 -05:00
|
|
|
OPIE_OBJ='ftp-opie$o'
|
|
|
|
fi
|
|
|
|
AC_SUBST(OPIE_OBJ)
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl Whether make sets $(MAKE)...
|
|
|
|
dnl
|
|
|
|
AC_PROG_MAKE_SET
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl Find a good install
|
|
|
|
dnl
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl Find the compiler
|
|
|
|
dnl
|
|
|
|
|
|
|
|
dnl We want these before the checks, so the checks can modify their values.
|
|
|
|
test -z "$CFLAGS" && CFLAGS= auto_cflags=1
|
|
|
|
test -z "$CC" && cc_specified=yes
|
|
|
|
|
|
|
|
AC_PROG_CC
|
2003-11-05 09:03:31 -05:00
|
|
|
AC_AIX
|
|
|
|
AM_PROG_CC_STDC
|
1999-12-02 02:42:23 -05:00
|
|
|
|
2003-11-05 09:03:31 -05:00
|
|
|
dnl Turn on optimization by default. Specifically:
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl
|
|
|
|
dnl if the user hasn't specified CFLAGS, then
|
2003-11-05 09:03:31 -05:00
|
|
|
dnl if compiler is gcc, then
|
|
|
|
dnl use -O2 and some warning flags
|
|
|
|
dnl else
|
|
|
|
dnl use os-specific flags or -O
|
1999-12-02 02:42:23 -05:00
|
|
|
if test -n "$auto_cflags"; then
|
|
|
|
if test -n "$GCC"; then
|
|
|
|
CFLAGS="$CFLAGS -O2 -Wall -Wno-implicit"
|
|
|
|
else
|
|
|
|
case "$host_os" in
|
|
|
|
*hpux*) CFLAGS="$CFLAGS +O3" ;;
|
|
|
|
*ultrix* | *osf*) CFLAGS="$CFLAGS -O -Olimit 2000" ;;
|
|
|
|
*) CFLAGS="$CFLAGS -O" ;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2001-06-14 18:43:27 -04:00
|
|
|
dnl
|
|
|
|
dnl Configure our included libtool and make sure it's regenerated when needed
|
|
|
|
dnl
|
|
|
|
AC_PROG_LIBTOOL
|
|
|
|
AC_SUBST(LIBTOOL_DEPS)
|
|
|
|
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl
|
|
|
|
dnl In case of {cyg,gnu}win32. Should be a _target_ test.
|
|
|
|
dnl Might also be erelevant for DJGPP.
|
|
|
|
dnl
|
|
|
|
case "$host_os" in
|
|
|
|
*win32) exeext='.exe';;
|
|
|
|
*) exeext='';;
|
|
|
|
esac
|
|
|
|
AC_SUBST(exeext)
|
|
|
|
|
|
|
|
dnl
|
2003-11-04 08:37:14 -05:00
|
|
|
dnl Checks for basic compiler characteristics.
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl
|
|
|
|
AC_C_CONST
|
2001-04-12 20:34:24 -04:00
|
|
|
AC_C_INLINE
|
2003-11-04 08:37:14 -05:00
|
|
|
AC_C_VOLATILE
|
1999-12-02 02:42:23 -05:00
|
|
|
AC_C_BIGENDIAN
|
2003-11-05 07:24:53 -05:00
|
|
|
AC_C_PROTOTYPES
|
1999-12-02 02:42:23 -05:00
|
|
|
|
2003-11-11 19:43:38 -05:00
|
|
|
if test x"$am_cv_prog_cc_stdc" != xno; then :
|
2003-11-05 09:03:31 -05:00
|
|
|
AC_SUBST(U, [])
|
|
|
|
AC_SUBST(ANSI2KNR, [])
|
|
|
|
else
|
|
|
|
AC_SUBST(U, [_])
|
|
|
|
AC_SUBST(ANSI2KNR, [./ansi2knr])
|
|
|
|
fi
|
|
|
|
|
2003-11-04 08:37:14 -05:00
|
|
|
dnl
|
2003-11-05 09:03:31 -05:00
|
|
|
dnl Checks for header files that might be missing.
|
2003-11-04 08:37:14 -05:00
|
|
|
dnl
|
2003-11-04 10:28:18 -05:00
|
|
|
|
2003-11-05 07:24:53 -05:00
|
|
|
dnl Check for basic headers, even those we assume the presence of.
|
|
|
|
dnl This is because Autoconf default includes check for STDC_HEADERS,
|
|
|
|
dnl HAVE_SYS_TYPES_H, etc. before including them.
|
|
|
|
AC_HEADER_STDC
|
2003-11-04 10:28:18 -05:00
|
|
|
AC_CHECK_HEADERS(sys/types.h sys/stat.h)
|
2003-11-05 07:24:53 -05:00
|
|
|
dnl Now check for the others.
|
2003-11-11 19:42:09 -05:00
|
|
|
AC_CHECK_HEADERS(string.h strings.h stdarg.h limits.h unistd.h sys/time.h)
|
2003-11-04 10:28:18 -05:00
|
|
|
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)
|
2003-11-04 08:37:14 -05:00
|
|
|
AC_HEADER_TIME
|
|
|
|
|
2003-10-10 22:27:41 -04:00
|
|
|
dnl
|
|
|
|
dnl Check integral type sizes.
|
|
|
|
dnl
|
2003-10-11 08:41:13 -04:00
|
|
|
AC_CHECK_SIZEOF(short)
|
2003-10-10 22:27:41 -04:00
|
|
|
AC_CHECK_SIZEOF(int)
|
2000-11-01 16:51:25 -05:00
|
|
|
AC_CHECK_SIZEOF(long)
|
|
|
|
AC_CHECK_SIZEOF(long long)
|
|
|
|
|
2005-02-23 17:21:04 -05:00
|
|
|
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)
|
|
|
|
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl
|
2003-11-04 08:38:17 -05:00
|
|
|
dnl Checks for non-universal or system-specific types.
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl
|
2003-11-04 08:37:14 -05:00
|
|
|
AC_TYPE_SIZE_T
|
|
|
|
AC_TYPE_PID_T
|
|
|
|
AC_CHECK_TYPES(uint32_t)
|
2003-11-04 08:38:17 -05:00
|
|
|
AC_TYPE_SIGNAL
|
2003-11-04 08:37:14 -05:00
|
|
|
AC_CHECK_TYPES(sig_atomic_t, [], [], [
|
|
|
|
#include <stdio.h>
|
2003-11-04 08:56:48 -05:00
|
|
|
#include <sys/types.h>
|
2003-11-04 08:37:14 -05:00
|
|
|
#if HAVE_INTTYPES_H
|
|
|
|
# include <inttypes.h>
|
|
|
|
#endif
|
|
|
|
#ifdef HAVE_SIGNAL_H
|
|
|
|
# include <signal.h>
|
|
|
|
#endif
|
|
|
|
])
|
1999-12-02 02:42:23 -05:00
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl Checks for library functions.
|
|
|
|
dnl
|
|
|
|
AC_FUNC_ALLOCA
|
2000-11-19 15:50:10 -05:00
|
|
|
AC_FUNC_MMAP
|
2005-02-23 17:21:04 -05:00
|
|
|
AC_FUNC_FSEEKO
|
2001-11-29 14:43:29 -05:00
|
|
|
AC_CHECK_FUNCS(strdup strstr strcasecmp strncasecmp strpbrk memmove)
|
2002-04-11 21:14:18 -04:00
|
|
|
AC_CHECK_FUNCS(gettimeofday mktime strptime strerror snprintf vsnprintf)
|
2005-02-23 17:21:04 -05:00
|
|
|
AC_CHECK_FUNCS(usleep select ftello sigblock sigsetjmp signal)
|
|
|
|
AC_CHECK_FUNCS(symlink access isatty)
|
1999-12-02 02:42:23 -05:00
|
|
|
|
2003-11-03 20:05:06 -05:00
|
|
|
dnl
|
|
|
|
dnl Call Wget's local macros defined in aclocal.
|
|
|
|
dnl
|
|
|
|
WGET_STRUCT_UTIMBUF
|
|
|
|
WGET_SOCKLEN_T
|
|
|
|
WGET_FNMATCH
|
|
|
|
WGET_NANOSLEEP
|
2005-04-07 19:41:08 -04:00
|
|
|
WGET_POSIX_CLOCK
|
2003-11-03 20:05:06 -05:00
|
|
|
WGET_NSL_SOCKET
|
|
|
|
|
2001-11-17 23:52:18 -05:00
|
|
|
dnl
|
|
|
|
dnl Check if we need to compile in getopt.c.
|
|
|
|
dnl
|
|
|
|
AC_CHECK_FUNC(getopt_long, [], [
|
|
|
|
GETOPT_OBJ='getopt$o'
|
|
|
|
])
|
|
|
|
AC_SUBST(GETOPT_OBJ)
|
|
|
|
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl
|
|
|
|
dnl Checks for libraries.
|
|
|
|
dnl
|
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
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.
|
|
|
|
dnl - "no", meaning don't link with SSL.
|
|
|
|
dnl - anything else, meaning use that as the SSL root, and bail out
|
|
|
|
dnl if it fails.
|
|
|
|
|
|
|
|
if test x"$with_ssl" = x; then
|
|
|
|
dnl Canonicalize unspecified with-ssl setting to "auto". This
|
|
|
|
dnl implements the "auto-detect by default" feature. If you want to
|
|
|
|
dnl change this to "ignore SSL by default", change "auto" to "no".
|
|
|
|
with_ssl=auto
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl Detection of OpenSSL is much hairier than the detection of other
|
|
|
|
dnl libraries because OpenSSL can be compiled as a third-party
|
|
|
|
dnl library, which means it will not be found without additional
|
|
|
|
dnl linker magic. It would be really nice to rework this check into
|
|
|
|
dnl an AC_DEFUN so that we can reuse it for other third-party
|
|
|
|
dnl libraries.
|
2001-05-24 20:23:22 -04:00
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
if test x"$with_ssl" != x"no"; then
|
|
|
|
|
|
|
|
wget_force_ssl=no
|
2001-03-17 09:21:19 -05:00
|
|
|
if test x"$with_ssl" = x"yes"; then
|
2001-12-12 03:30:03 -05:00
|
|
|
wget_force_ssl=yes
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test x"$with_ssl" = x"yes" || test x"$with_ssl" = x"auto"; then
|
|
|
|
dnl OpenSSL's root was not specified, so we have to guess. First
|
|
|
|
dnl try the system default location, then "/usr/local/ssl" (where
|
|
|
|
dnl OpenSSL installs by default), then "/usr/local" (traditional
|
|
|
|
dnl choice for installation root), then "/opt".
|
|
|
|
ssl_all_roots="system-default /usr/local/ssl /usr/local /opt"
|
2001-05-24 20:23:22 -04:00
|
|
|
else
|
2001-12-12 03:30:03 -05:00
|
|
|
dnl Root has been specified by the user.
|
2001-05-24 20:23:22 -04:00
|
|
|
ssl_all_roots=$with_ssl
|
2001-12-12 03:30:03 -05:00
|
|
|
wget_force_ssl=yes
|
2001-03-17 09:21:19 -05:00
|
|
|
fi
|
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
wget_save_CC=$CC
|
2001-06-14 16:16:55 -04:00
|
|
|
wget_save_LIBS=$LIBS
|
|
|
|
wget_save_LDFLAGS=$LDFLAGS
|
2001-12-12 03:30:03 -05:00
|
|
|
wget_save_CPPFLAGS=$CPPFLAGS
|
2001-06-14 16:16:55 -04:00
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
dnl Use libtool for OpenSSL tests so we can specify "-R<rpath>"
|
|
|
|
dnl without having to know how the linker handles it.
|
2001-06-14 16:16:55 -04:00
|
|
|
CC="$SHELL ./libtool $CC"
|
2001-03-27 04:31:18 -05:00
|
|
|
|
2001-05-24 20:23:22 -04:00
|
|
|
dnl Unfortunately, as of this writing (OpenSSL 0.9.6), the libcrypto
|
|
|
|
dnl shared library doesn't record its dependency on libdl, so we
|
|
|
|
dnl need to check for it ourselves so we won't fail to link due to a
|
|
|
|
dnl lack of -ldl. Most OSes use dlopen(), but HP-UX uses
|
|
|
|
dnl shl_load().
|
2001-03-27 04:31:18 -05:00
|
|
|
AC_CHECK_LIB(dl,dlopen)
|
|
|
|
AC_CHECK_LIB(dl,shl_load)
|
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
ssl_success=no
|
2001-05-24 20:23:22 -04:00
|
|
|
|
|
|
|
dnl Now try to find SSL libraries in each of the likely SSL roots.
|
|
|
|
for ssl_root in $ssl_all_roots
|
|
|
|
do
|
2001-12-12 03:30:03 -05:00
|
|
|
if test x"$ssl_root" = x"system-default"; then
|
|
|
|
dnl Try the default include and library locations.
|
2001-05-24 20:23:22 -04:00
|
|
|
SSL_INCLUDES=
|
|
|
|
else
|
|
|
|
dnl Try this specific root.
|
|
|
|
SSL_INCLUDES=-I$ssl_root/include
|
2001-06-14 16:16:55 -04:00
|
|
|
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"
|
2001-05-24 20:23:22 -04:00
|
|
|
fi
|
|
|
|
|
2003-11-04 09:17:33 -05:00
|
|
|
AC_MSG_NOTICE([looking for SSL libraries in $ssl_root])
|
2001-05-24 20:23:22 -04:00
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
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"
|
|
|
|
|
2005-04-08 05:47:31 -04:00
|
|
|
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.
|
2003-09-04 17:29:08 -04:00
|
|
|
AC_MSG_CHECKING([for includes])
|
2003-11-11 19:42:09 -05:00
|
|
|
AC_COMPILE_IFELSE([
|
|
|
|
#include <openssl/ssl.h>
|
2005-04-08 05:47:31 -04:00
|
|
|
#include <openssl/bio.h>
|
|
|
|
#include <openssl/crypto.h>
|
|
|
|
#include <openssl/des.h>
|
|
|
|
#include <openssl/err.h>
|
|
|
|
#include <openssl/md4.h>
|
|
|
|
#include <openssl/pem.h>
|
|
|
|
#include <openssl/rand.h>
|
|
|
|
#include <openssl/x509.h>
|
2003-11-11 19:42:09 -05:00
|
|
|
], [
|
|
|
|
AC_MSG_RESULT(found)
|
|
|
|
ssl_found_includes=yes
|
|
|
|
], [
|
2003-09-04 17:29:08 -04:00
|
|
|
AC_MSG_RESULT([not found])
|
2003-11-11 19:42:09 -05:00
|
|
|
])
|
2001-12-12 03:30:03 -05:00
|
|
|
|
|
|
|
if test x"$ssl_found_includes" = xno; then
|
|
|
|
continue
|
|
|
|
fi
|
|
|
|
|
|
|
|
ssl_link_failure=no
|
|
|
|
|
2001-05-24 20:23:22 -04:00
|
|
|
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.
|
|
|
|
|
2001-06-14 16:16:55 -04:00
|
|
|
AC_CHECK_LIB(crypto, RSA_new, , ssl_link_failure=yes)
|
|
|
|
AC_CHECK_LIB(ssl, SSL_new, , ssl_link_failure=yes)
|
2001-05-24 20:23:22 -04:00
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
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.
|
2001-05-26 04:57:46 -04:00
|
|
|
|
|
|
|
dnl If we are cross-compiling, just assume that working linkage
|
|
|
|
dnl implies working executable.
|
2001-05-24 20:23:22 -04:00
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
ssl_run_failure=no
|
|
|
|
|
2003-09-04 17:29:08 -04:00
|
|
|
AC_MSG_CHECKING([whether SSL libs are resolved at runtime])
|
2001-12-12 03:30:03 -05:00
|
|
|
AC_TRY_RUN([
|
2001-05-28 18:02:47 -04:00
|
|
|
int RSA_new();
|
|
|
|
int SSL_new();
|
2001-05-24 20:23:22 -04:00
|
|
|
main(){return 0;}
|
2001-05-28 18:02:47 -04:00
|
|
|
],
|
2003-09-05 15:33:44 -04:00
|
|
|
AC_MSG_RESULT(yes),
|
|
|
|
AC_MSG_RESULT(no); ssl_run_failure=yes,
|
|
|
|
AC_MSG_RESULT(cross)
|
2001-12-12 03:30:03 -05:00
|
|
|
)
|
2001-05-24 20:23:22 -04:00
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
if test x"$ssl_run_failure" = xno; then
|
|
|
|
ssl_success=yes
|
2001-05-24 20:23:22 -04:00
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
if test x"$ssl_success" = xyes; then
|
2003-11-04 09:17:33 -05:00
|
|
|
AC_MSG_NOTICE([compiling in support for SSL in $ssl_root])
|
2003-11-04 10:28:18 -05:00
|
|
|
AC_DEFINE([HAVE_SSL], 1,
|
2003-11-04 09:46:19 -05:00
|
|
|
[Define if SSL support should be compiled in.])
|
2001-12-12 03:30:03 -05:00
|
|
|
AC_SUBST(SSL_INCLUDES)
|
2005-04-26 17:41:41 -04:00
|
|
|
SSL_OBJ='openssl$o'
|
2001-12-12 03:30:03 -05:00
|
|
|
AC_SUBST(SSL_OBJ)
|
|
|
|
else
|
|
|
|
LDFLAGS=$wget_save_LDFLAGS
|
2001-06-14 16:16:55 -04:00
|
|
|
LIBS=$wget_save_LIBS
|
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
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
|
2003-11-03 19:08:32 -05:00
|
|
|
AC_MSG_ERROR([failed to find OpenSSL libraries], 2)
|
2001-12-12 03:30:03 -05:00
|
|
|
fi
|
2000-12-05 18:09:41 -05:00
|
|
|
fi
|
2001-06-14 16:16:55 -04:00
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
dnl Restore the compiler setting.
|
2001-06-14 16:16:55 -04:00
|
|
|
CC=$wget_save_CC
|
2001-12-12 03:30:03 -05:00
|
|
|
|
|
|
|
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_CPPFLAGS
|
2000-12-05 18:09:41 -05:00
|
|
|
fi
|
|
|
|
|
2005-04-06 16:42:22 -04:00
|
|
|
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)
|
|
|
|
|
2001-11-29 13:17:54 -05:00
|
|
|
dnl
|
|
|
|
dnl Find an md5 implementation.
|
|
|
|
dnl
|
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
if test x"$wget_need_md5" = xyes
|
2001-11-29 13:17:54 -05:00
|
|
|
then
|
2003-11-03 20:05:06 -05:00
|
|
|
dnl This should be moved to an AC_DEFUN, but I'm not sure how to
|
|
|
|
dnl manipulate MD5_OBJ from the defun.
|
2001-11-29 13:17:54 -05:00
|
|
|
|
2003-11-03 20:05:06 -05:00
|
|
|
MD5_OBJ='gen-md5$o'
|
2001-11-29 13:17:54 -05:00
|
|
|
found_md5=no
|
|
|
|
|
2001-12-11 01:20:22 -05:00
|
|
|
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.
|
2001-12-12 03:30:03 -05:00
|
|
|
if test x"$found_md5" = xno; then
|
2001-12-11 01:20:22 -05:00
|
|
|
AC_CHECK_LIB(md5, md5_calc, [
|
2003-11-03 19:33:08 -05:00
|
|
|
dnl Some installations have bogus <md5.h> in the compiler's
|
|
|
|
dnl include path, making the system md5 library useless.
|
2003-11-11 19:50:00 -05:00
|
|
|
AC_MSG_CHECKING([for working md5.h])
|
2003-11-03 19:33:08 -05:00
|
|
|
AC_COMPILE_IFELSE([#include <md5.h>
|
|
|
|
], [
|
|
|
|
AC_MSG_RESULT(yes)
|
2003-11-04 10:28:18 -05:00
|
|
|
AC_DEFINE([HAVE_SOLARIS_MD5], 1, [Define to use Solaris MD5.])
|
2003-11-03 18:51:56 -05:00
|
|
|
LIBS="-lmd5 $LIBS"
|
|
|
|
found_md5=yes
|
2003-11-03 19:33:08 -05:00
|
|
|
AC_MSG_NOTICE([using the Solaris MD5 implementation])
|
|
|
|
], [AC_MSG_RESULT(no)])
|
2001-11-29 13:17:54 -05:00
|
|
|
])
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl Then see if we're linking OpenSSL anyway; if yes, use its md5
|
|
|
|
dnl implementation.
|
2001-12-12 03:30:03 -05:00
|
|
|
if test x"$found_md5" = xno; then
|
|
|
|
if test x"$ssl_success" = xyes; then
|
2003-11-04 10:28:18 -05:00
|
|
|
AC_DEFINE([HAVE_OPENSSL_MD5], 1, [Define to use OpenSSL MD5.])
|
2001-11-29 13:17:54 -05:00
|
|
|
found_md5=yes
|
2003-11-03 19:33:08 -05:00
|
|
|
AC_MSG_NOTICE([using the OpenSSL MD5 implementation])
|
2001-11-29 13:17:54 -05:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2001-12-12 03:30:03 -05:00
|
|
|
dnl If none of the above worked, use the one we ship with Wget.
|
|
|
|
if test x"$found_md5" = xno; then
|
2003-11-04 10:28:18 -05:00
|
|
|
AC_DEFINE([HAVE_BUILTIN_MD5], 1, [Define to use built-in MD5.])
|
2001-11-29 13:17:54 -05:00
|
|
|
MD5_OBJ="$MD5_OBJ gnu-md5\$o"
|
2003-11-03 19:08:32 -05:00
|
|
|
found_md5=yes
|
2003-11-03 19:33:08 -05:00
|
|
|
AC_MSG_NOTICE([using the GNU MD5 implementation])
|
2001-11-29 13:17:54 -05:00
|
|
|
fi
|
|
|
|
fi
|
2003-11-04 10:28:18 -05:00
|
|
|
AC_DEFINE([HAVE_MD5], 1, [Define if we're compiling support for MD5.])
|
2001-11-29 13:17:54 -05:00
|
|
|
AC_SUBST(MD5_OBJ)
|
|
|
|
|
2003-09-09 15:30:45 -04:00
|
|
|
dnl **********************************************************************
|
|
|
|
dnl Checks for IPv6
|
|
|
|
dnl **********************************************************************
|
|
|
|
|
2003-10-30 14:11:03 -05:00
|
|
|
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
|
2005-04-29 08:17:25 -04:00
|
|
|
dnl don't use IPv6 or getaddrinfo. Otherwise we detect IPv6 and use
|
|
|
|
dnl it where available.
|
2003-10-30 14:11:03 -05:00
|
|
|
dnl
|
|
|
|
|
2003-09-09 15:30:45 -04:00
|
|
|
AC_ARG_ENABLE(ipv6,
|
2003-09-16 08:24:29 -04:00
|
|
|
AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
|
|
|
|
[case "${enable_ipv6}" in
|
2005-04-29 08:17:25 -04:00
|
|
|
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.
|
2003-09-16 08:24:29 -04:00
|
|
|
ipv6=yes
|
2005-04-29 08:17:25 -04:00
|
|
|
]
|
2003-09-16 08:24:29 -04:00
|
|
|
)
|
|
|
|
|
2005-04-29 08:17:25 -04:00
|
|
|
if test "X$ipv6" = "Xyes"; then
|
2005-03-04 14:21:02 -05:00
|
|
|
AC_CHECK_FUNCS(getaddrinfo, [], [
|
2003-09-16 08:24:29 -04:00
|
|
|
AC_MSG_NOTICE([Disabling IPv6 support: your system does not support getaddrinfo(3)])
|
|
|
|
ipv6=no
|
|
|
|
])
|
|
|
|
fi
|
2003-10-30 14:11:03 -05:00
|
|
|
|
2005-04-29 08:17:25 -04:00
|
|
|
if test "X$ipv6" = "Xyes"; then
|
2003-11-26 12:20:23 -05:00
|
|
|
PROTO_INET6([], [
|
2003-09-16 08:24:29 -04:00
|
|
|
AC_MSG_NOTICE([Disabling IPv6 support: your system does not support the PF_INET6 protocol family])
|
|
|
|
ipv6=no
|
|
|
|
])
|
2003-09-09 15:30:45 -04:00
|
|
|
fi
|
|
|
|
|
2005-04-29 08:17:25 -04:00
|
|
|
if test "X$ipv6" = "Xyes"; then
|
|
|
|
TYPE_STRUCT_SOCKADDR_IN6([],[
|
|
|
|
AC_MSG_NOTICE([Disabling IPv6 support: your system does not support \`struct sockaddr_in6'])
|
2003-09-16 08:24:29 -04:00
|
|
|
ipv6=no
|
|
|
|
])
|
|
|
|
if test "X$ipv6" = "Xyes"; then
|
2003-11-26 12:20:23 -05:00
|
|
|
WGET_STRUCT_SOCKADDR_STORAGE
|
2003-09-16 08:24:29 -04:00
|
|
|
MEMBER_SIN6_SCOPE_ID
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "X$ipv6" = "Xyes"; then
|
|
|
|
AC_DEFINE([ENABLE_IPV6], 1, [Define if IPv6 support is enabled.])
|
2005-04-29 18:31:47 -04:00
|
|
|
AC_MSG_NOTICE([Enabling support for IPv6.])
|
2005-04-29 08:17:25 -04:00
|
|
|
elif test "x$force_ipv6" = "xyes"; then
|
|
|
|
AC_MSG_ERROR([IPv6 support requested but not found; aborting])
|
2003-09-16 08:24:29 -04:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
2000-11-23 16:41:37 -05:00
|
|
|
dnl
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl Set of available languages.
|
|
|
|
dnl
|
2003-09-04 17:29:08 -04:00
|
|
|
ALL_LINGUAS=`(cd ${srcdir}/po && ls *.po | sed -e 's/\.po$//' | tr '\012' ' ')`
|
2000-11-23 16:41:37 -05:00
|
|
|
|
2001-05-24 20:23:22 -04:00
|
|
|
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 a
|
|
|
|
dnl new language was added.
|
1999-12-02 02:42:23 -05:00
|
|
|
|
|
|
|
dnl internationalization macros
|
|
|
|
WGET_WITH_NLS
|
|
|
|
|
|
|
|
dnl
|
2003-11-08 19:24:56 -05:00
|
|
|
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.
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl
|
|
|
|
|
2003-11-08 19:24:56 -05:00
|
|
|
AC_CHECK_PROGS(MAKEINFO, makeinfo)
|
1999-12-02 02:42:23 -05:00
|
|
|
|
2001-02-22 21:09:36 -05:00
|
|
|
dnl
|
|
|
|
dnl Find perl and pod2man
|
|
|
|
dnl
|
|
|
|
|
|
|
|
AC_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=
|
|
|
|
fi
|
|
|
|
AC_SUBST(COMMENT_IF_NO_POD2MAN)
|
|
|
|
|
1999-12-02 02:42:23 -05:00
|
|
|
dnl
|
|
|
|
dnl Create output
|
|
|
|
dnl
|
2003-11-04 11:13:44 -05:00
|
|
|
AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile util/Makefile
|
|
|
|
po/Makefile.in windows/Makefile])
|
2003-11-04 11:19:59 -05:00
|
|
|
AC_CONFIG_HEADERS([src/config.h])
|
|
|
|
AH_BOTTOM([
|
|
|
|
#include "config-post.h"
|
|
|
|
])
|
2003-11-04 11:13:44 -05:00
|
|
|
AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
|
|
|
|
AC_CONFIG_COMMANDS([default], [WGET_PROCESS_PO])
|
|
|
|
AC_OUTPUT
|