# HG changeset patch # User Simon Josefsson # Date 1137680032 0 # Node ID df6195e003c4b3b3612a2b78417a063a510c4251 # Parent f7945ef945d613dc3dd3c2798e6b124920ae4c27 * socklen.m4: Look in ws2tcpip.h too, for mingw32. diff --git a/m4/ChangeLog b/m4/ChangeLog --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,7 @@ +2006-01-19 Simon Josefsson + + * socklen.m4: Look in ws2tcpip.h too, for mingw32. + 2006-01-16 Paul Eggert * lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as diff --git a/m4/socklen.m4 b/m4/socklen.m4 --- a/m4/socklen.m4 +++ b/m4/socklen.m4 @@ -1,17 +1,22 @@ -# socklen.m4 serial 2 -dnl Copyright (C) 2005 Free Software Foundation, Inc. +# socklen.m4 serial 3 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -dnl From Albert Chin. +dnl From Albert Chin, Windows fixes from Simon Josefsson. dnl Check for socklen_t: historically on BSD it is an int, and in dnl POSIX 1g it is a type of its own, but some platforms use different dnl types for the argument to getsockopt, getpeername, etc. So we dnl have to test to find something that will work. + +dnl On mingw32, socklen_t is in ws2tcpip.h ('int'), so we try to find +dnl it there first. That file is included by gnulib's socket_.h, which +dnl all users of this module should include. AC_DEFUN([gl_TYPE_SOCKLEN_T], - [AC_CHECK_TYPE([socklen_t], , + [AC_CHECK_HEADERS_ONCE([sys/socket.h ws2tcpip.h]) + AC_CHECK_TYPE([socklen_t], , [AC_MSG_CHECKING([for socklen_t equivalent]) AC_CACHE_VAL([gl_cv_gl_cv_socklen_t_equiv], [# Systems have either "struct sockaddr *" or @@ -21,7 +26,7 @@ for t in int size_t "unsigned int" "long int" "unsigned long int"; do AC_TRY_COMPILE( [#include - #include + #include int getpeername (int, $arg2 *, $t *);], [$t len; @@ -39,4 +44,9 @@ AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv], [type to use in place of socklen_t if not defined])], [#include - #include ])]) + #if HAVE_SYS_SOCKET_H + # include + #endif + #if HAVE_WS2TCPIP_H + # include + #endif])])