]> sjero.net Git - wget/blobdiff - m4/wget.m4
NEWS: cite --start-pos
[wget] / m4 / wget.m4
index 736bd2eb3e13baa6a03517439afcaca021e55f90..777e973415ee42d013ddd275f6b64c4487a33484 100644 (file)
@@ -1,6 +1,7 @@
 dnl Wget-specific Autoconf macros.
 dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
 dnl Wget-specific Autoconf macros.
 dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-dnl 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+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
 
 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
@@ -15,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 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'.
 
 dnl
 dnl Check for `struct utimbuf'.
@@ -41,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
 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
@@ -79,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_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.])
     AC_MSG_RESULT(yes)
     AC_DEFINE([HAVE_WORKING_FNMATCH_H], 1,
               [Define if fnmatch.h can be included.])
@@ -150,8 +122,18 @@ AC_DEFUN([TYPE_STRUCT_SOCKADDR_IN6],[
     wget_have_sockaddr_in6=no
   ],[
 #include <sys/types.h>
     wget_have_sockaddr_in6=no
   ],[
 #include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
 #include <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 :
   ])
 
   if test "X$wget_have_sockaddr_in6" = "Xyes"; then :
@@ -164,7 +146,7 @@ AC_DEFUN([TYPE_STRUCT_SOCKADDR_IN6],[
 
 AC_DEFUN([MEMBER_SIN6_SCOPE_ID],[
   AC_REQUIRE([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],[
   wget_member_sin6_scope_id=
   if test "X$wget_have_sockaddr_in6" = "Xyes"; then
     AC_CHECK_MEMBER([struct sockaddr_in6.sin6_scope_id],[
@@ -173,8 +155,18 @@ AC_DEFUN([MEMBER_SIN6_SCOPE_ID],[
       wget_member_sin6_scope_id=no
     ],[
 #include <sys/types.h>
       wget_member_sin6_scope_id=no
     ],[
 #include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
 #include <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
 
     ])
   fi
 
@@ -192,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>
   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>
 #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
 #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
 #endif
     ],[
       wget_cv_proto_inet6=yes
@@ -218,153 +220,19 @@ AC_DEFUN([PROTO_INET6],[
 AC_DEFUN([WGET_STRUCT_SOCKADDR_STORAGE],[
   AC_CHECK_TYPES([struct sockaddr_storage],[], [], [
 #include <sys/types.h>
 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>
 #include <sys/socket.h>
-  ])
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+])
 ])
 
 dnl ************************************************************
 dnl END OF IPv6 AUTOCONFIGURATION SUPPORT MACROS
 dnl ************************************************************
 \f
 ])
 
 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.
-
 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],
 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],