diff options
Diffstat (limited to 'gl/m4/sockpfaf.m4')
-rw-r--r-- | gl/m4/sockpfaf.m4 | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/gl/m4/sockpfaf.m4 b/gl/m4/sockpfaf.m4 new file mode 100644 index 0000000..25d9755 --- /dev/null +++ b/gl/m4/sockpfaf.m4 | |||
@@ -0,0 +1,58 @@ | |||
1 | # sockpfaf.m4 serial 5 | ||
2 | dnl Copyright (C) 2004, 2006 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl Test for some common socket protocol families (PF_INET, PF_INET6, ...) | ||
8 | dnl and some common address families (AF_INET, AF_INET6, ...). | ||
9 | dnl This test assumes that a system supports an address family if and only if | ||
10 | dnl it supports the corresponding protocol family. | ||
11 | |||
12 | dnl From Bruno Haible. | ||
13 | |||
14 | AC_DEFUN([gl_SOCKET_FAMILIES], | ||
15 | [ | ||
16 | AC_REQUIRE([gl_HEADER_SYS_SOCKET]) | ||
17 | AC_CHECK_HEADERS_ONCE([netinet/in.h]) | ||
18 | |||
19 | AC_MSG_CHECKING(for IPv4 sockets) | ||
20 | AC_CACHE_VAL(gl_cv_socket_ipv4, | ||
21 | [AC_TRY_COMPILE([#include <sys/types.h> | ||
22 | #ifdef HAVE_SYS_SOCKET_H | ||
23 | #include <sys/socket.h> | ||
24 | #endif | ||
25 | #ifdef HAVE_NETINET_IN_H | ||
26 | #include <netinet/in.h> | ||
27 | #endif | ||
28 | #ifdef HAVE_WINSOCK2_H | ||
29 | #include <winsock2.h> | ||
30 | #endif], | ||
31 | [int x = AF_INET; struct in_addr y; struct sockaddr_in z; | ||
32 | if (&x && &y && &z) return 0;], | ||
33 | gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) | ||
34 | AC_MSG_RESULT($gl_cv_socket_ipv4) | ||
35 | if test $gl_cv_socket_ipv4 = yes; then | ||
36 | AC_DEFINE(HAVE_IPV4, 1, [Define to 1 if <sys/socket.h> defines AF_INET.]) | ||
37 | fi | ||
38 | |||
39 | AC_MSG_CHECKING(for IPv6 sockets) | ||
40 | AC_CACHE_VAL(gl_cv_socket_ipv6, | ||
41 | [AC_TRY_COMPILE([#include <sys/types.h> | ||
42 | #ifdef HAVE_SYS_SOCKET_H | ||
43 | #include <sys/socket.h> | ||
44 | #endif | ||
45 | #ifdef HAVE_NETINET_IN_H | ||
46 | #include <netinet/in.h> | ||
47 | #endif | ||
48 | #ifdef HAVE_WINSOCK2_H | ||
49 | #include <winsock2.h> | ||
50 | #endif], | ||
51 | [int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; | ||
52 | if (&x && &y && &z) return 0;], | ||
53 | gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) | ||
54 | AC_MSG_RESULT($gl_cv_socket_ipv6) | ||
55 | if test $gl_cv_socket_ipv6 = yes; then | ||
56 | AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if <sys/socket.h> defines AF_INET6.]) | ||
57 | fi | ||
58 | ]) | ||