-AC_DEFUN(AM_C_PROTOTYPES,
-[AC_REQUIRE([AM_PROG_CC_STDC])
-AC_BEFORE([$0], [AC_C_INLINE])
-AC_MSG_CHECKING([for function prototypes])
-if test "$am_cv_prog_cc_stdc" != no; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(PROTOTYPES)
- U= ANSI2KNR=
-else
- AC_MSG_RESULT(no)
- U=_ ANSI2KNR=./ansi2knr
- # Ensure some checks needed by ansi2knr itself.
- AC_HEADER_STDC
- AC_CHECK_HEADERS(string.h)
-fi
-AC_SUBST(U)dnl
-AC_SUBST(ANSI2KNR)dnl
+dnl
+dnl Check for `struct utimbuf'.
+dnl
+
+AC_DEFUN([WGET_STRUCT_UTIMBUF], [
+ AC_CHECK_TYPES([struct utimbuf], [], [], [
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_UTIME_H
+# include <utime.h>
+#endif
+ ])
+])
+
+
+dnl Check for socklen_t. The third argument of accept, getsockname,
+dnl etc. is int * on some systems, but size_t * on others. POSIX
+dnl finally standardized on socklen_t, but older systems don't have
+dnl it. If socklen_t exists, we use it, else if accept() accepts
+dnl size_t *, we use that, else we use int.
+
+AC_DEFUN([WGET_SOCKLEN_T], [
+ AC_MSG_CHECKING(for socklen_t)
+ AC_COMPILE_IFELSE([
+#include <sys/types.h>
+#include <sys/socket.h>
+socklen_t x;
+ ], [AC_MSG_RESULT(socklen_t)], [
+ AC_COMPILE_IFELSE([
+#include <sys/types.h>
+#include <sys/socket.h>
+int accept (int, struct sockaddr *, size_t *);
+ ], [
+ AC_MSG_RESULT(size_t)
+ AC_DEFINE([socklen_t], [size_t],
+ [Define to int or size_t on systems without socklen_t.])
+ ], [
+ AC_MSG_RESULT(int)
+ AC_DEFINE([socklen_t], [int],
+ [Define to int or size_t on systems without socklen_t.])
+ ])
+ ])
+])
+
+dnl Check whether fnmatch.h can be included. This doesn't use
+dnl AC_FUNC_FNMATCH because Wget is already careful to only use
+dnl fnmatch on certain OS'es. However, fnmatch.h is sometimes broken
+dnl even on those because Apache installs its own fnmatch.h to
+dnl /usr/local/include (!), which GCC uses before /usr/include.
+
+AC_DEFUN([WGET_FNMATCH], [
+ AC_MSG_CHECKING([for working fnmatch.h])
+ AC_COMPILE_IFELSE([#include <fnmatch.h>
+ ], [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_WORKING_FNMATCH_H], 1,
+ [Define if fnmatch.h can be included.])
+ ], [
+ AC_MSG_RESULT(no)
+ ])
+])
+
+dnl Check for nanosleep. For nanosleep to work on Solaris, we must
+dnl link with -lt (recently) or with -lposix (older releases).
+
+AC_DEFUN([WGET_NANOSLEEP], [
+ AC_CHECK_FUNCS(nanosleep, [], [
+ AC_CHECK_LIB(rt, nanosleep, [
+ AC_DEFINE([HAVE_NANOSLEEP], 1,
+ [Define if you have the nanosleep function.])
+ LIBS="-lrt $LIBS"
+ ], [
+ AC_CHECK_LIB(posix4, nanosleep, [
+ AC_DEFINE([HAVE_NANOSLEEP], 1,
+ [Define if you have the nanosleep function.])
+ LIBS="-lposix4 $LIBS"
+ ])
+ ])
+ ])
+])
+
+dnl Check whether we need to link with -lnsl and -lsocket, as is the
+dnl case on e.g. Solaris.
+
+AC_DEFUN([WGET_NSL_SOCKET], [
+ dnl On Solaris, -lnsl is needed to use gethostbyname. But checking
+ dnl for gethostbyname is not enough because on "NCR MP-RAS 3.0"
+ dnl gethostbyname is in libc, but -lnsl is still needed to use
+ dnl -lsocket, as well as for functions such as inet_ntoa. We look
+ dnl for such known offenders and if one of them is not found, we
+ dnl check if -lnsl is needed.
+ wget_check_in_nsl=NONE
+ AC_CHECK_FUNCS(gethostbyname, [], [
+ wget_check_in_nsl=gethostbyname
+ ])
+ AC_CHECK_FUNCS(inet_ntoa, [], [
+ wget_check_in_nsl=inet_ntoa
+ ])
+ if test $wget_check_in_nsl != NONE; then
+ AC_CHECK_LIB(nsl, $wget_check_in_nsl)
+ fi
+ AC_CHECK_LIB(socket, socket)
])
esac
])
-AC_DEFUN([WGET_STRUCT_UTIMBUF],
-[AC_MSG_CHECKING([for struct utimbuf])
-if test x"$ac_cv_header_utime_h" = xyes; then
- AC_EGREP_CPP([struct[ ]+utimbuf],
- [#include <utime.h>],
- [AC_DEFINE(HAVE_STRUCT_UTIMBUF)
- AC_MSG_RESULT(yes)],
- AC_MSG_RESULT(no))
-else
- AC_MSG_RESULT(no)
-fi])
-
-
-dnl Check for socklen_t. The third argument of accept, getsockname,
-dnl etc. is int * on some systems, but size_t * on others. POSIX
-dnl finally standardized on socklen_t, but older systems don't have
-dnl it. If socklen_t exists, we use it, else if accept() accepts
-dnl size_t *, we use that, else we use int.
-
-AC_DEFUN([WGET_SOCKLEN_T], [
- AC_MSG_CHECKING(for socklen_t)
- AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/socket.h>
-socklen_t x;
-],
- [], [AC_MSG_RESULT(yes)], [
- AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/socket.h>
-int accept (int, struct sockaddr *, size_t *);
-],
- [], [
- AC_MSG_RESULT(size_t)
- AC_DEFINE(socklen_t, size_t)
- ], [
- AC_MSG_RESULT(int)
- AC_DEFINE(socklen_t, int)
- ])
- ])
-])
-
-
dnl ************************************************************
dnl START OF IPv6 AUTOCONFIGURATION SUPPORT MACROS
\f
# This code originates from Ulrich Drepper's AM_WITH_NLS.
-AC_DEFUN(WGET_WITH_NLS,
+AC_DEFUN([WGET_WITH_NLS],
[AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
AC_ARG_ENABLE(nls,
dnl last moment.
if test x"$HAVE_NLS" = xyes; then
- AC_MSG_RESULT([language catalogs: $ALL_LINGUAS])
+ dnl If LINGUAS is specified, use only those languages. In fact,
+ dnl compute an intersection of languages in LINGUAS and
+ dnl ALL_LINGUAS, and use that.
+ if test x"$LINGUAS" != x; then
+ new_linguas=
+ for lang1 in $ALL_LINGUAS; do
+ for lang2 in $LINGUAS; do
+ if test "$lang1" = "$lang2"; then
+ new_linguas="$new_linguas $lang1"
+ fi
+ done
+ done
+ ALL_LINGUAS=$new_linguas
+ fi
+ AC_MSG_NOTICE([language catalogs: $ALL_LINGUAS])
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
AC_CHECK_LIB(intl, gettext, [
dnl gettext is in libintl; announce the fact manually.
LIBS="-lintl $LIBS"
- AC_DEFINE(HAVE_GETTEXT)
+ AC_DEFINE([HAVE_GETTEXT], 1,
+ [Define if you have the gettext function.])
], [
AC_CHECK_FUNCS(gettext, [], [
AC_MSG_RESULT([gettext not found; disabling NLS])
])
])
- dnl These rules are solely for the distribution goal. While doing this
- dnl we only have to keep exactly one list of the available catalogs
- dnl in configure.in.
for lang in $ALL_LINGUAS; do
GMOFILES="$GMOFILES $lang.gmo"
POFILES="$POFILES $lang.po"
USE_NLS=$HAVE_NLS
AC_SUBST(USE_NLS)
if test "x$HAVE_NLS" = xyes; then
- AC_DEFINE(HAVE_NLS)
+ AC_DEFINE([HAVE_NLS], 1, [Define this if you want the NLS support.])
fi
])