Bruno Haible <[EMAIL PROTECTED]> writes: > Simon Josefsson wrote: >> >> + rmdir sys >> > >> > Remove the directory only when it exists and is empty. (Some systems >> > create files in your directories without being asked for, e.g. .DS_Store >> > on MacOS X.) >> >> How do I test for that in a portable way? > > Let rmdir do the test, and ignore a possible error: > > -rmdir sys 2>/dev/null
Of course. Added. >> Applications that need socklen_t should probably depend on >> the sys/socket.h module. Perhaps the socklen_t module should depend >> on the sys_socket module? > > I don't think so: Applications that use <netdb.h> but not <sys/socket.h> > are also supposed to be able to use socklen_t. See > http://www.opengroup.org/onlinepubs/009695399/basedefs/netdb.h.html Right. >> +AC_DEFUN([gl_HEADER_SYS_SOCKET], >> +[ >> + AC_CHECK_HEADERS_ONCE([sys/socket.h]) >> + if test $ac_cv_header_sys_socket_h = yes; then >> + SYS_SOCKET_H='' >> + else >> + AC_CHECK_HEADERS_ONCE([winsock2.h]) > > Here a test for ws2tcpip.h is missing. Added. >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ modules/sys_socket 9 Jan 2006 16:24:40 -0000 >> @@ -0,0 +1,36 @@ >> +Description: >> +A <sys/socket.h> for systems lacking it. >> +(Currently only useful for mingw32, it will simply include winsock2.h.) > > The second line doesn't belong here, IMO, since it describes the > implementation of the module, which can change over time if we encounter > more bad systems. Removed. > Otherwise it looks fine, please commit! I installed the patch below. Thanks! Index: lib/socket_.h =================================================================== RCS file: lib/socket_.h diff -N lib/socket_.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lib/socket_.h 10 Jan 2006 14:28:10 -0000 @@ -0,0 +1,37 @@ +/* Provide a sys/socket header file for systems lacking it (read: mingw32). + Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Written by Simon Josefsson. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _SYS_SOCKET_H +#define _SYS_SOCKET_H + +/* This file is supposed to be used on platforms that lack + sys/socket.h. It is intended to provide definitions and prototypes + needed by an application. + + Currently only mingw32 is supported, which has the header files + winsock2.h and ws2tcpip.h that declare the sys/socket.h definitions + we need. */ + +#if HAVE_WINSOCK2_H +# include <winsock2.h> +#endif +#if HAVE_WS2TCPIP_H +# include <ws2tcpip.h> +#endif + +#endif /* _SYS_SOCKET_H */ Index: lib/ChangeLog =================================================================== RCS file: /sources/gnulib/gnulib/lib/ChangeLog,v retrieving revision 1.1069 diff -u -p -r1.1069 ChangeLog --- lib/ChangeLog 10 Jan 2006 13:52:11 -0000 1.1069 +++ lib/ChangeLog 10 Jan 2006 14:28:12 -0000 @@ -1,3 +1,7 @@ +2006-01-10 Simon Josefsson <[EMAIL PROTECTED]> + + * socket_.h: New file. + 2006-01-10 Bruno Haible <[EMAIL PROTECTED]> * localcharset.c: Update from GNU gettext. Index: m4/sys_socket_h.m4 =================================================================== RCS file: m4/sys_socket_h.m4 diff -N m4/sys_socket_h.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ m4/sys_socket_h.m4 10 Jan 2006 14:28:12 -0000 @@ -0,0 +1,19 @@ +# sys_socket_h.m4 serial 1 +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 Simon Josefsson. + +AC_DEFUN([gl_HEADER_SYS_SOCKET], +[ + AC_CHECK_HEADERS_ONCE([sys/socket.h]) + if test $ac_cv_header_sys_socket_h = yes; then + SYS_SOCKET_H='' + else + AC_CHECK_HEADERS_ONCE([winsock2.h ws2tcpip.h]) + SYS_SOCKET_H='sys/socket.h' + fi + AC_SUBST(SYS_SOCKET_H) +]) Index: m4/ChangeLog =================================================================== RCS file: /sources/gnulib/gnulib/m4/ChangeLog,v retrieving revision 1.767 diff -u -p -r1.767 ChangeLog --- m4/ChangeLog 10 Jan 2006 13:57:21 -0000 1.767 +++ m4/ChangeLog 10 Jan 2006 14:28:13 -0000 @@ -1,3 +1,7 @@ +2006-01-10 Simon Josefsson <[EMAIL PROTECTED]> + + * sys_socket_h.m4: New file. + 2006-01-10 Bruno Haible <[EMAIL PROTECTED]> * localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked. Index: ChangeLog =================================================================== RCS file: /sources/gnulib/gnulib/ChangeLog,v retrieving revision 1.462 diff -u -p -r1.462 ChangeLog --- ChangeLog 10 Jan 2006 13:37:12 -0000 1.462 +++ ChangeLog 10 Jan 2006 14:28:13 -0000 @@ -1,3 +1,7 @@ +2006-01-10 Simon Josefsson <[EMAIL PROTECTED]> + + * modules/sys_socket: New file. + 2006-01-07 Bruno Haible <[EMAIL PROTECTED]> * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR Index: modules/sys_socket =================================================================== RCS file: modules/sys_socket diff -N modules/sys_socket --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ modules/sys_socket 10 Jan 2006 14:28:13 -0000 @@ -0,0 +1,35 @@ +Description: +A <sys/socket.h> for systems lacking it. + +Files: +lib/socket_.h +m4/sys_socket_h.m4 + +Depends-on: + +configure.ac: +gl_HEADER_SYS_SOCKET + +Makefile.am: +BUILT_SOURCES += $(SYS_SOCKET_H) +EXTRA_DIST += socket_.h + +# We need the following in order to create <sys/socket.h> when the system +# doesn't have one that works with the given compiler. +sys/socket.h: socket_.h + test -d sys || mkdir sys + cp $(srcdir)/socket_.h [EMAIL PROTECTED] + mv [EMAIL PROTECTED] $@ +MOSTLYCLEANFILES += sys/socket.h sys/socket.h-t + +mostlyclean-local: + -rmdir sys 2>/dev/null + +Include: +#include <sys/socket.h> + +License: +LGPL + +Maintainer: +Simon Josefsson _______________________________________________ bug-gnulib mailing list bug-gnulib@gnu.org http://lists.gnu.org/mailman/listinfo/bug-gnulib