]> sjero.net Git - wget/blobdiff - m4/wget.m4
NEWS: cite --start-pos
[wget] / m4 / wget.m4
index e856fe59d85d5d3eb454824d9b616ac63bfd165c..777e973415ee42d013ddd275f6b64c4487a33484 100644 (file)
@@ -1,5 +1,7 @@
 dnl Wget-specific Autoconf macros.
-dnl Copyright (C) 1996-2005 Free Software Foundation, Inc.
+dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+dnl 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+dnl Foundation, Inc.
 
 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
@@ -14,15 +16,16 @@ 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, see <http://www.gnu.org/licenses/>.
 
-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.
+dnl Additional permission under GNU GPL version 3 section 7
+
+dnl If you modify this program, or any covered work, by linking or
+dnl combining it with the OpenSSL project's OpenSSL library (or a
+dnl modified version of that library), containing parts covered by the
+dnl terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+dnl grants you additional permission to convey the resulting work.
+dnl Corresponding Source for a non-source form of such a combination
+dnl shall include the source code for the parts of OpenSSL used as well
+dnl as that of the covered work.
 
 dnl
 dnl Check for `struct utimbuf'.
@@ -40,36 +43,6 @@ AC_DEFUN([WGET_STRUCT_UTIMBUF], [
   ])
 ])
 
-
-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
@@ -78,8 +51,8 @@ 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_COMPILE_IFELSE([AC_LANG_SOURCE([#include <fnmatch.h>
+                    ])], [
     AC_MSG_RESULT(yes)
     AC_DEFINE([HAVE_WORKING_FNMATCH_H], 1,
               [Define if fnmatch.h can be included.])
@@ -149,8 +122,18 @@ AC_DEFUN([TYPE_STRUCT_SOCKADDR_IN6],[
     wget_have_sockaddr_in6=no
   ],[
 #include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
   ])
 
   if test "X$wget_have_sockaddr_in6" = "Xyes"; then :
@@ -163,7 +146,7 @@ AC_DEFUN([TYPE_STRUCT_SOCKADDR_IN6],[
 
 AC_DEFUN([MEMBER_SIN6_SCOPE_ID],[
   AC_REQUIRE([TYPE_STRUCT_SOCKADDR_IN6])
-  
+
   wget_member_sin6_scope_id=
   if test "X$wget_have_sockaddr_in6" = "Xyes"; then
     AC_CHECK_MEMBER([struct sockaddr_in6.sin6_scope_id],[
@@ -172,8 +155,18 @@ AC_DEFUN([MEMBER_SIN6_SCOPE_ID],[
       wget_member_sin6_scope_id=no
     ],[
 #include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
     ])
   fi
 
@@ -191,13 +184,23 @@ AC_DEFUN([PROTO_INET6],[
   AC_CACHE_CHECK([for INET6 protocol support], [wget_cv_proto_inet6],[
     AC_TRY_CPP([
 #include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
-
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
 #ifndef PF_INET6
 #error Missing PF_INET6
 #endif
 #ifndef AF_INET6
-#error Mlssing AF_INET6
+#error Missing AF_INET6
 #endif
     ],[
       wget_cv_proto_inet6=yes
@@ -217,158 +220,22 @@ AC_DEFUN([PROTO_INET6],[
 AC_DEFUN([WGET_STRUCT_SOCKADDR_STORAGE],[
   AC_CHECK_TYPES([struct sockaddr_storage],[], [], [
 #include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
-  ])
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+])
 ])
 
 dnl ************************************************************
 dnl END OF IPv6 AUTOCONFIGURATION SUPPORT MACROS
 dnl ************************************************************
 \f
-# This code originates from Ulrich Drepper's AM_WITH_NLS.
-
-AC_DEFUN([WGET_WITH_NLS],
-  [AC_MSG_CHECKING([whether NLS is requested])
-    dnl Default is enabled NLS
-    AC_ARG_ENABLE(nls,
-      [  --disable-nls           do not use Native Language Support],
-      HAVE_NLS=$enableval, HAVE_NLS=yes)
-    AC_MSG_RESULT($HAVE_NLS)
-
-    dnl If something goes wrong, we may still decide not to use NLS.
-    dnl For this reason, defer AC_SUBST'ing HAVE_NLS until the very
-    dnl last moment.
-
-    if test x"$HAVE_NLS" = xyes; then
-      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,
-         [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
-      AC_SUBST(MSGFMT)
-      AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-      CATOBJEXT=.gmo
-      INSTOBJEXT=.mo
-      DATADIRNAME=share
-
-      dnl Test whether we really found GNU xgettext.
-      if test "$XGETTEXT" != ":"; then
-       dnl If it is no GNU xgettext we define it as : so that the
-       dnl Makefiles still can work.
-       if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
-         : ;
-       else
-         AC_MSG_RESULT(
-           [found xgettext programs is not GNU xgettext; ignore it])
-         XGETTEXT=":"
-       fi
-      fi
-
-      AC_CHECK_HEADERS(libintl.h)
-
-      dnl Prefer gettext found in -lintl to the one in libc.
-      dnl Otherwise it can happen that we include libintl.h from
-      dnl /usr/local/lib, but fail to specify -lintl, which results in
-      dnl link or run-time failures.  (Symptom: libintl_bindtextdomain
-      dnl not found at link-time.)
-
-      AC_CHECK_LIB(intl, gettext, [
-        dnl gettext is in libintl; announce the fact manually.
-        LIBS="-lintl $LIBS"
-       AC_DEFINE([HAVE_GETTEXT], 1,
-                  [Define if you have the gettext function.])
-      ], [
-        AC_CHECK_FUNCS(gettext, [], [
-          AC_MSG_RESULT([gettext not found; disabling NLS])
-          HAVE_NLS=no
-        ])
-      ])
-
-      for lang in $ALL_LINGUAS; do
-       GMOFILES="$GMOFILES $lang.gmo"
-       POFILES="$POFILES $lang.po"
-      done
-      dnl Construct list of names of catalog files to be constructed.
-      for lang in $ALL_LINGUAS; do
-        CATALOGS="$CATALOGS ${lang}${CATOBJEXT}"
-      done
-
-      dnl Make all variables we use known to autoconf.
-      AC_SUBST(CATALOGS)
-      AC_SUBST(CATOBJEXT)
-      AC_SUBST(DATADIRNAME)
-      AC_SUBST(GMOFILES)
-      AC_SUBST(INSTOBJEXT)
-      AC_SUBST(INTLLIBS)
-      AC_SUBST(POFILES)
-    fi
-    AC_SUBST(HAVE_NLS)
-    dnl Some independently maintained files, such as po/Makefile.in,
-    dnl use `USE_NLS', so support it.
-    USE_NLS=$HAVE_NLS
-    AC_SUBST(USE_NLS)
-    if test "x$HAVE_NLS" = xyes; then
-      AC_DEFINE([HAVE_NLS], 1, [Define this if you want the NLS support.])
-    fi
-  ])
-
-dnl Generate list of files to be processed by xgettext which will
-dnl be included in po/Makefile.
-dnl
-dnl This is not strictly an Autoconf macro, because it is run from
-dnl within `config.status' rather than from within configure.  This
-dnl is why special rules must be applied for it.
-AC_DEFUN(WGET_PROCESS_PO,
-  [
-   dnl I wonder what the following several lines do...
-   if test "x$srcdir" != "x."; then
-     if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
-       posrcprefix="$srcdir/"
-     else
-       posrcprefix="../$srcdir/"
-     fi
-   else
-     posrcprefix="../"
-   fi
-   rm -f po/POTFILES
-   dnl Use `echo' rather than AC_MSG_RESULT, because this is run from
-   dnl `config.status'.
-   echo "generating po/POTFILES from $srcdir/po/POTFILES.in"
-   sed -e "/^#/d" -e "/^\$/d" -e "s,.*,        $posrcprefix& \\\\,"  \
-       -e "\$s/\(.*\) \\\\/\1/" \
-        < $srcdir/po/POTFILES.in > po/POTFILES
-   echo "creating po/Makefile"
-   sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
-  ])
-
-# Search path for a program which passes the given test.
-# Ulrich Drepper <drepper@cygnus.com>, 1996.
-#
-# This file may be copied and used freely without restrictions.  It
-# can be used in projects which are not available under the GNU Public
-# License but which still want to provide support for the GNU gettext
-# functionality.  Please note that the actual code is *not* freely
-# available.
-
-# serial 1
-
 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN(AM_PATH_PROG_WITH_TEST,
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
 [# Extract the first word of "$2", so it can be a program name with args.
 set dummy $2; ac_word=[$]2
 AC_MSG_CHECKING([for $ac_word])