Blame gnulib/m4/sockpfaf.m4

Packit Service a2ae7a
# sockpfaf.m4 serial 9
Packit Service a2ae7a
dnl Copyright (C) 2004, 2006, 2009-2019 Free Software Foundation, Inc.
Packit Service a2ae7a
dnl This file is free software; the Free Software Foundation
Packit Service a2ae7a
dnl gives unlimited permission to copy and/or distribute it,
Packit Service a2ae7a
dnl with or without modifications, as long as this notice is preserved.
Packit Service a2ae7a
Packit Service a2ae7a
dnl Test for some common socket protocol families (PF_INET, PF_INET6, ...)
Packit Service a2ae7a
dnl and some common address families (AF_INET, AF_INET6, ...).
Packit Service a2ae7a
dnl This test assumes that a system supports an address family if and only if
Packit Service a2ae7a
dnl it supports the corresponding protocol family.
Packit Service a2ae7a
Packit Service a2ae7a
dnl From Bruno Haible.
Packit Service a2ae7a
Packit Service a2ae7a
AC_DEFUN([gl_SOCKET_FAMILIES],
Packit Service a2ae7a
[
Packit Service a2ae7a
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
Packit Service a2ae7a
  AC_CHECK_HEADERS_ONCE([netinet/in.h])
Packit Service a2ae7a
Packit Service a2ae7a
  AC_CACHE_CHECK([for IPv4 sockets],
Packit Service a2ae7a
    [gl_cv_socket_ipv4],
Packit Service a2ae7a
    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
Packit Service a2ae7a
#ifdef HAVE_SYS_SOCKET_H
Packit Service a2ae7a
#include <sys/socket.h>
Packit Service a2ae7a
#endif
Packit Service a2ae7a
#ifdef HAVE_NETINET_IN_H
Packit Service a2ae7a
#include <netinet/in.h>
Packit Service a2ae7a
#endif
Packit Service a2ae7a
#ifdef HAVE_WINSOCK2_H
Packit Service a2ae7a
#include <winsock2.h>
Packit Service a2ae7a
#endif]],
Packit Service a2ae7a
[[int x = AF_INET; struct in_addr y; struct sockaddr_in z;
Packit Service a2ae7a
 if (&x && &y && &z) return 0;]])],
Packit Service a2ae7a
       gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)])
Packit Service a2ae7a
  if test $gl_cv_socket_ipv4 = yes; then
Packit Service a2ae7a
    AC_DEFINE([HAVE_IPV4], [1], [Define to 1 if <sys/socket.h> defines AF_INET.])
Packit Service a2ae7a
  fi
Packit Service a2ae7a
Packit Service a2ae7a
  AC_CACHE_CHECK([for IPv6 sockets],
Packit Service a2ae7a
    [gl_cv_socket_ipv6],
Packit Service a2ae7a
    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
Packit Service a2ae7a
#ifdef HAVE_SYS_SOCKET_H
Packit Service a2ae7a
#include <sys/socket.h>
Packit Service a2ae7a
#endif
Packit Service a2ae7a
#ifdef HAVE_NETINET_IN_H
Packit Service a2ae7a
#include <netinet/in.h>
Packit Service a2ae7a
#endif
Packit Service a2ae7a
#ifdef HAVE_WINSOCK2_H
Packit Service a2ae7a
#include <winsock2.h>
Packit Service a2ae7a
#endif
Packit Service a2ae7a
#ifdef HAVE_WS2TCPIP_H
Packit Service a2ae7a
#include <ws2tcpip.h>
Packit Service a2ae7a
#endif]],
Packit Service a2ae7a
[[int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z;
Packit Service a2ae7a
 if (&x && &y && &z) return 0;]])],
Packit Service a2ae7a
       gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)])
Packit Service a2ae7a
  if test $gl_cv_socket_ipv6 = yes; then
Packit Service a2ae7a
    AC_DEFINE([HAVE_IPV6], [1], [Define to 1 if <sys/socket.h> defines AF_INET6.])
Packit Service a2ae7a
  fi
Packit Service a2ae7a
])
Packit Service a2ae7a
Packit Service a2ae7a
AC_DEFUN([gl_SOCKET_FAMILY_UNIX],
Packit Service a2ae7a
[
Packit Service a2ae7a
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
Packit Service a2ae7a
  AC_CHECK_HEADERS_ONCE([sys/un.h])
Packit Service a2ae7a
Packit Service a2ae7a
  AC_CACHE_CHECK([for UNIX domain sockets],
Packit Service a2ae7a
    [gl_cv_socket_unix],
Packit Service a2ae7a
    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
Packit Service a2ae7a
#ifdef HAVE_SYS_SOCKET_H
Packit Service a2ae7a
#include <sys/socket.h>
Packit Service a2ae7a
#endif
Packit Service a2ae7a
#ifdef HAVE_SYS_UN_H
Packit Service a2ae7a
#include <sys/un.h>
Packit Service a2ae7a
#endif
Packit Service a2ae7a
#ifdef HAVE_WINSOCK2_H
Packit Service a2ae7a
#include <winsock2.h>
Packit Service a2ae7a
#endif]],
Packit Service a2ae7a
[[int x = AF_UNIX; struct sockaddr_un y;
Packit Service a2ae7a
 if (&x && &y) return 0;]])],
Packit Service a2ae7a
       gl_cv_socket_unix=yes, gl_cv_socket_unix=no)])
Packit Service a2ae7a
  if test $gl_cv_socket_unix = yes; then
Packit Service a2ae7a
    AC_DEFINE([HAVE_UNIXSOCKET], [1], [Define to 1 if <sys/socket.h> defines AF_UNIX.])
Packit Service a2ae7a
  fi
Packit Service a2ae7a
])