Tizen 2.0 Release
[external/tizen-coreutils.git] / m4 / sys_socket_h.m4
1 # sys_socket_h.m4 serial 3
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     AC_CHECK_HEADERS([sys/socket.h])
24     gl_ABSOLUTE_HEADER([sys/socket.h])
25     ABSOLUTE_SYS_SOCKET_H=\"$gl_cv_absolute_sys_socket_h\"
26     AC_SUBST([ABSOLUTE_SYS_SOCKET_H])
27     if test $ac_cv_header_sys_socket_h = yes; then
28       HAVE_SYS_SOCKET_H=1
29       HAVE_WINSOCK2_H=0
30       HAVE_WS2TCPIP_H=0
31     else
32       HAVE_SYS_SOCKET_H=0
33       dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
34       dnl the check for those headers unconditional; yet cygwin reports
35       dnl that the headers are present but cannot be compiled (since on
36       dnl cygwin, all socket information should come from sys/socket.h).
37       AC_CHECK_HEADERS([winsock2.h ws2tcpip.h])
38       if test $ac_cv_header_winsock2_h = yes; then
39         HAVE_WINSOCK2_H=1
40       else
41         HAVE_WINSOCK2_H=0
42       fi
43       if test $ac_cv_header_ws2tcpip_h = yes; then
44         HAVE_WS2TCPIP_H=1
45       else
46         HAVE_WS2TCPIP_H=0
47       fi
48     fi
49     AC_SUBST([HAVE_SYS_SOCKET_H])
50     AC_SUBST([HAVE_WINSOCK2_H])
51     AC_SUBST([HAVE_WS2TCPIP_H])
52   fi
53   AC_SUBST([SYS_SOCKET_H])
54 ])