]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Refactored IPV6-related checks.
authorFrancesco Chemolli <kinkie@squid-cache.org>
Thu, 29 Jul 2010 20:24:14 +0000 (22:24 +0200)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Thu, 29 Jul 2010 20:24:14 +0000 (22:24 +0200)
acinclude/os-deps.m4
configure.in

index c45496f0b191efd2787dc4435f7a36d5697496d5..dfdfe1449d10067d7690f791fa12266ba4a65966 100644 (file)
@@ -325,3 +325,59 @@ if test `expr $squid_filedescriptors_num % 64` != 0; then
     AC_MSG_WARN([$squid_filedescriptors_num is not an multiple of 64. This may cause issues on certain platforms.])
 fi
 ])
+
+
+dnl Check whether this OS defines sin6_len as a member of sockaddr_in6 as a backup to ss_len
+dnl defines HAVE_SIN6_LEN_IN_SAI
+dnl TODO: move to AC_CHECK_MEMBER?
+
+AC_DEFUN([SQUID_CHECK_SIN6_LEN_IN_SAI],[
+AC_CACHE_CHECK([for sin6_len field in struct sockaddr_in6],
+                ac_cv_have_sin6_len_in_struct_sai, [
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+              ]], [[ struct sockaddr_in6 s; s.sin6_len = 1; ]])],[ ac_cv_have_sin6_len_in_struct_sai="yes" ],[ ac_cv_have_sin6_len_in_struct_sai="no" 
+      ])
+])
+SQUID_DEFINE_BOOL(HAVE_SIN6_LEN_IN_SAI,$ac_cv_have_sin6_len_in_struct_sai,
+      [Defined if struct sockaddr_in6 has sin6_len])
+])
+
+
+dnl Check whether this OS defines ss_len as a member of sockaddr_storage
+dnl defines HAVE_SS_LEN_IN_SS
+dnl TODO: move to AC_CHECK_MEMBER?
+
+AC_DEFUN([SQUID_CHECK_SS_LEN_IN_SOCKADDR_STORAGE],[
+AC_CACHE_CHECK([for ss_len field in struct sockaddr_storage],
+               ac_cv_have_ss_len_in_struct_ss, [
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+               ]], [[ struct sockaddr_storage s; s.ss_len = 1; ]])],[ ac_cv_have_ss_len_in_struct_ss="yes" ],[ ac_cv_have_ss_len_in_struct_ss="no" 
+       ])
+])
+SQUID_DEFINE_BOOL(HAVE_SS_LEN_IN_SS,$ac_cv_have_ss_len_in_struct_ss,
+   [Define if sockaddr_storage has field ss_len])
+])
+
+
+dnl Check whether this OS defines sin_len as a member of sockaddr_in as a backup to ss_len
+dnl defines HAVE_SIN_LEN_IN_SAI
+dnl TODO: move to AC_CHECK_MEMBER?
+
+AC_DEFUN([SQUID_CHECK_SIN_LEN_IN_SOCKADDR_IN],[
+AC_CACHE_CHECK([for sin_len field in struct sockaddr_in],
+                ac_cv_have_sin_len_in_struct_sai, [
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+                ]], [[ struct sockaddr_in s; s.sin_len = 1; ]])],[ ac_cv_have_sin_len_in_struct_sai="yes" ],[ ac_cv_have_sin_len_in_struct_sai="no" 
+        ])
+])
+SQUID_DEFINE_BOOL(HAVE_SIN_LEN_IN_SAI,$ac_cv_have_sin_len_in_struct_sai,[Define if sockaddr_in has field sin_len])
+])
index 854fa481abfe911357cbb83849b81ab7ed4e6872..11c16247605dc6d019fa5449a7c62d55a4cf773f 100644 (file)
@@ -2492,72 +2492,19 @@ AC_DEFINE_UNQUOTED(SQUID_MAXFD, $squid_filedescriptors_num,[Maximum number of op
 
 dnl Enable IPv6 support
 AC_MSG_CHECKING([whether to enable IPv6])
-use_ipng=yes
 AC_ARG_ENABLE(ipv6,
-  AS_HELP_STRING([--disable-ipv6],[Disable IPv6 support. The default is to probe system capabilities on startup.]),
-[ case $enableval in
-  yes|no)
-    use_ipng=$enableval
-    ;;
-  *)
-    ;;
-  esac
-])
-AC_MSG_RESULT($use_ipng)
-
-if test "$use_ipng" != "no"; then
-  AC_DEFINE(USE_IPV6,1,[Enable support for IPv6 ])
-else
-  AC_DEFINE(USE_IPV6,0,[Enable support for IPv6 ])
-fi
-
-dnl Check whether this OS defines sin6_len as a member of sockaddr_in6 as a backup to ss_len
-AC_CACHE_CHECK([for sin6_len field in struct sockaddr_in6],
-                ac_cv_have_sin6_len_in_struct_sai, [
-      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-              ]], [[ struct sockaddr_in6 s; s.sin6_len = 1; ]])],[ ac_cv_have_sin6_len_in_struct_sai="yes" ],[ ac_cv_have_sin6_len_in_struct_sai="no" 
-      ])
+  AS_HELP_STRING([--disable-ipv6],[Disable IPv6 support. The default is to probe system capabilities on startup.]), [
+SQUID_YESNO([$enableval],[unrecognized argument to --disable-ipv6: $enableval])
 ])
-if test "x$ac_cv_have_sin6_len_in_struct_sai" = "xyes" ; then
-  AC_DEFINE(HAVE_SIN6_LEN_IN_SAI, 1, [Does struct sockaddr_in6 have sin6_len? 1: Yes, 0: No])
-else
-  AC_DEFINE(HAVE_SIN6_LEN_IN_SAI, 0, [Does struct sockaddr_in6 have sin6_len? 1: Yes, 0: No])
-fi
+AC_MSG_RESULT(${use_ipng:=yes})
+SQUID_DEFINE_BOOL(USE_IPV6,$use_ipng,[Enable support for IPv6 ])
 
-dnl Check whether this OS defines ss_len as a member of sockaddr_storage
-AC_CACHE_CHECK([for ss_len field in struct sockaddr_storage],
-               ac_cv_have_ss_len_in_struct_ss, [
-       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-               ]], [[ struct sockaddr_storage s; s.ss_len = 1; ]])],[ ac_cv_have_ss_len_in_struct_ss="yes" ],[ ac_cv_have_ss_len_in_struct_ss="no" 
-       ])
-])
-if test "x$ac_cv_have_ss_len_in_struct_ss" = "xyes" ; then
-       AC_DEFINE(HAVE_SS_LEN_IN_SS, 1, [Does struct sockaddr_storage have ss_len? 1: Yes, 0: No])
-else
-       AC_DEFINE(HAVE_SS_LEN_IN_SS, 0, [Does struct sockaddr_storage have ss_len? 1: Yes, 0: No])
+if test "x$use_ipng" = "xyes" ; then
+  SQUID_CHECK_SIN6_LEN_IN_SAI
+  SQUID_CHECK_SS_LEN_IN_SOCKADDR_STORAGE
+  SQUID_CHECK_SIN_LEN_IN_SOCKADDR_IN
 fi
 
-dnl Check whether this OS defines sin_len as a member of sockaddr_in as a backup to ss_len
-AC_CACHE_CHECK([for sin_len field in struct sockaddr_in],
-                ac_cv_have_sin_len_in_struct_sai, [
-        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-                ]], [[ struct sockaddr_in s; s.sin_len = 1; ]])],[ ac_cv_have_sin_len_in_struct_sai="yes" ],[ ac_cv_have_sin_len_in_struct_sai="no" 
-        ])
-])
-if test "x$ac_cv_have_sin_len_in_struct_sai" = "xyes" ; then
-        AC_DEFINE(HAVE_SIN_LEN_IN_SAI, 1, [Does struct sockaddr_in have sin_len? 1: Yes, 0: No])
-else
-        AC_DEFINE(HAVE_SIN_LEN_IN_SAI, 0, [Does struct sockaddr_in have sin_len? 1: Yes, 0: No])
-fi
 
 dnl Check for libcrypt
 CRYPTLIB=