# HG changeset patch # User Simon Josefsson # Date 1241807658 -7200 # Node ID 3ee72ca3f3ade8509b5aa3909102273351ca9e2a # Parent 56da8750e5c6a41a969989592d21ca6c0f1a949c m4/sys_socket_h.m4: Test for ws2tcpip.h earlier. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-05-08 Simon Josefsson + + * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for + sockaddr_storage test. + 2009-05-07 Simon Josefsson * modules/sys_socket (Makefile.am): Substitute diff --git a/m4/sys_socket_h.m4 b/m4/sys_socket_h.m4 --- a/m4/sys_socket_h.m4 +++ b/m4/sys_socket_h.m4 @@ -40,6 +40,8 @@ else SYS_SOCKET_H='sys/socket.h' fi + # We need to check for ws2tcpip.h now. + gl_PREREQ_SYS_H_SOCKET AC_CHECK_TYPES([struct sockaddr_storage],,,[ /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and @@ -57,31 +59,35 @@ SYS_SOCKET_H='sys/socket.h' fi if test -n "$SYS_SOCKET_H"; then - dnl Check prerequisites of the replacement. - gl_CHECK_NEXT_HEADERS([sys/socket.h]) - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 - else - HAVE_SYS_SOCKET_H=0 - dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make - dnl the check for those headers unconditional; yet cygwin reports - dnl that the headers are present but cannot be compiled (since on - dnl cygwin, all socket information should come from sys/socket.h). - AC_CHECK_HEADERS([ws2tcpip.h]) - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi - fi gl_PREREQ_SYS_H_WINSOCK2 - AC_SUBST([HAVE_SYS_SOCKET_H]) - AC_SUBST([HAVE_WS2TCPIP_H]) fi AC_SUBST([SYS_SOCKET_H]) ]) +AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], +[ + dnl Check prerequisites of the replacement. + gl_CHECK_NEXT_HEADERS([sys/socket.h]) + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_SYS_SOCKET_H=1 + HAVE_WS2TCPIP_H=0 + else + HAVE_SYS_SOCKET_H=0 + dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make + dnl the check for those headers unconditional; yet cygwin reports + dnl that the headers are present but cannot be compiled (since on + dnl cygwin, all socket information should come from sys/socket.h). + AC_CHECK_HEADERS([ws2tcpip.h]) + if test $ac_cv_header_ws2tcpip_h = yes; then + HAVE_WS2TCPIP_H=1 + else + HAVE_WS2TCPIP_H=0 + fi + fi + AC_SUBST([HAVE_SYS_SOCKET_H]) + AC_SUBST([HAVE_WS2TCPIP_H]) +]) + # Common prerequisites of of the replacement and of the # replacement. # Sets and substitutes HAVE_WINSOCK2_H.