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 00000000..25d9755c --- /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 | ]) | ||
