d9659c2d75eee465474b20db7b34996fafed0389
[debian/amanda] / config / gnulib / sys_socket_h.m4
1 # sys_socket_h.m4 serial 4
2 dnl Copyright (C) 2005, 2006, 2007 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 From Simon Josefsson.
8
9 AC_DEFUN([gl_HEADER_SYS_SOCKET],
10 [
11   AC_CACHE_CHECK([whether <sys/socket.h> is self-contained],
12     [gl_cv_header_sys_socket_h_selfcontained],
13     [
14       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/socket.h>], [])],
15         [gl_cv_header_sys_socket_h_selfcontained=yes],
16         [gl_cv_header_sys_socket_h_selfcontained=no])
17     ])
18   if test $gl_cv_header_sys_socket_h_selfcontained = yes; then
19     SYS_SOCKET_H=''
20   else
21     SYS_SOCKET_H='sys/socket.h'
22
23     gl_CHECK_NEXT_HEADERS([sys/socket.h])
24     if test $ac_cv_header_sys_socket_h = yes; then
25       HAVE_SYS_SOCKET_H=1
26       HAVE_WINSOCK2_H=0
27       HAVE_WS2TCPIP_H=0
28     else
29       HAVE_SYS_SOCKET_H=0
30       dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
31       dnl the check for those headers unconditional; yet cygwin reports
32       dnl that the headers are present but cannot be compiled (since on
33       dnl cygwin, all socket information should come from sys/socket.h).
34       AC_CHECK_HEADERS([winsock2.h ws2tcpip.h])
35       if test $ac_cv_header_winsock2_h = yes; then
36         HAVE_WINSOCK2_H=1
37       else
38         HAVE_WINSOCK2_H=0
39       fi
40       if test $ac_cv_header_ws2tcpip_h = yes; then
41         HAVE_WS2TCPIP_H=1
42       else
43         HAVE_WS2TCPIP_H=0
44       fi
45     fi
46     AC_SUBST([HAVE_SYS_SOCKET_H])
47     AC_SUBST([HAVE_WINSOCK2_H])
48     AC_SUBST([HAVE_WS2TCPIP_H])
49   fi
50   AC_SUBST([SYS_SOCKET_H])
51 ])