]> sjero.net Git - wget/blobdiff - m4/wget.m4
NEWS: cite --start-pos
[wget] / m4 / wget.m4
index 67cc294290a44162139bdbb32901666178708f88..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 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
@@ -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 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'.
@@ -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
@@ -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_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.])
@@ -150,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 :
@@ -164,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],[
@@ -173,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
 
@@ -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>
+#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
@@ -218,8 +220,13 @@ 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 ************************************************************