r3333: added configure tests for ipv6 support
authorAndrew Tridgell <tridge@samba.org>
Thu, 28 Oct 2004 21:36:27 +0000 (21:36 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:04:56 +0000 (13:04 -0500)
source/lib/socket/config.m4
source/lib/socket/socket.c

index 588bf9064e4609bdc8ff8562ed049273b5a2986b..8c4a9fe40c3cef879fe1e7dc2177b6928ccd20ef 100644 (file)
@@ -1,6 +1,11 @@
 
 SMB_MODULE_MK(socket_ipv4,SOCKET,STATIC,lib/socket/config.mk)
-SMB_MODULE_MK(socket_ipv6,SOCKET,STATIC,lib/socket/config.mk)
 SMB_MODULE_MK(socket_unix,SOCKET,STATIC,lib/socket/config.mk)
 
+AC_CHECK_FUNCS(gethostbyname2, have_ipv6=true, have_ipv6=false)
+if $have_ipv6 = true; then
+    AC_DEFINE(HAVE_SOCKET_IPV6,1,[Whether the system has ipv6 support])
+    SMB_MODULE_MK(socket_ipv6,SOCKET,STATIC,lib/socket/config.mk)
+fi
+
 SMB_SUBSYSTEM_MK(SOCKET,lib/socket/config.mk)
index c3cacbebd81006848d7d1ad246240f5017cfb0ff..84bb1ccafee01020ccad2a62cb969ab515b94eb9 100644 (file)
@@ -267,9 +267,11 @@ const struct socket_ops *socket_getops_byname(const char *name, enum socket_type
                return socket_ipv4_ops();
        }
 
+#if HAVE_SOCKET_IPV6
        if (strcmp("ipv6", name) == 0) {
                return socket_ipv6_ops();
        }
+#endif
 
        if (strcmp("unix", name) == 0) {
                return socket_unixdom_ops();