diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2006-02-14 23:08:59 +0000 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2006-02-14 23:08:59 +0000 |
commit | 05e61daca4d7e0ed1f82e0e604812b90b8bcbde1 (patch) | |
tree | dfa8745d2ae39bfabc619e50d16f565a10fe16f8 /m4/socklen.m4 | |
parent | 83dcf2436fec5440943c03dac404f4b25f72e222 (diff) | |
download | coreutils-05e61daca4d7e0ed1f82e0e604812b90b8bcbde1.tar.xz |
Sync from gnulib.
Diffstat (limited to 'm4/socklen.m4')
-rw-r--r-- | m4/socklen.m4 | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/m4/socklen.m4 b/m4/socklen.m4 index 7db6ba355..01da2b547 100644 --- 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 @@ AC_DEFUN([gl_TYPE_SOCKLEN_T], for t in int size_t "unsigned int" "long int" "unsigned long int"; do AC_TRY_COMPILE( [#include <sys/types.h> - #include <sys/socket.h> + #include <sys/socket.h> int getpeername (int, $arg2 *, $t *);], [$t len; @@ -39,4 +44,9 @@ AC_DEFUN([gl_TYPE_SOCKLEN_T], AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv], [type to use in place of socklen_t if not defined])], [#include <sys/types.h> - #include <sys/socket.h>])]) + #if HAVE_SYS_SOCKET_H + # include <sys/socket.h> + #endif + #if HAVE_WS2TCPIP_H + # include <ws2tcpip.h> + #endif])]) |