From: Bruno Haible Date: Sun, 5 Oct 2008 15:20:58 +0000 (+0200) Subject: New module 'select'. X-Git-Tag: v0.1~6896 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=23c6fc446a93d098c9e531234af635316a4386ef;p=gnulib.git New module 'select'. --- diff --git a/lib/sys_select.in.h b/lib/sys_select.in.h index 396f20947..5a4b7a5a4 100644 --- a/lib/sys_select.in.h +++ b/lib/sys_select.in.h @@ -49,9 +49,14 @@ extern "C" { # endif -# undef select -# define select rpl_select +# if @GNULIB_SELECT@ +# undef select +# define select rpl_select extern int rpl_select (int, fd_set *, fd_set *, fd_set *, struct timeval *); +# else +# undef select +# define select select_used_without_requesting_gnulib_module_select +# endif # ifdef __cplusplus } diff --git a/m4/sys_select_h.m4 b/m4/sys_select_h.m4 index 865a41442..c537e7918 100644 --- a/m4/sys_select_h.m4 +++ b/m4/sys_select_h.m4 @@ -1,4 +1,4 @@ -# sys_select_h.m4 serial 5 +# sys_select_h.m4 serial 6 dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HEADER_SYS_SELECT], [ AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) AC_CACHE_CHECK([whether is self-contained], [gl_cv_header_sys_select_h_selfcontained], [ @@ -29,7 +30,16 @@ AC_DEFUN([gl_HEADER_SYS_SELECT], gl_PREREQ_SYS_H_WINSOCK2 fi AC_SUBST([SYS_SELECT_H]) - if test x$ac_cv_header_winsock2_h = xyes; then - AC_LIBOBJ(winsock-select) - fi +]) + +AC_DEFUN([gl_SYS_SELECT_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) + GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 +]) + +AC_DEFUN([gl_SYS_SELECT_H_DEFAULTS], +[ + GNULIB_SELECT=0; AC_SUBST([GNULIB_SELECT]) ]) diff --git a/modules/select b/modules/select new file mode 100644 index 000000000..647dc0547 --- /dev/null +++ b/modules/select @@ -0,0 +1,27 @@ +Description: +select() function: synchronous I/O multiplexing. + +Files: +lib/winsock-select.c + +Depends-on: +alloca +sys_select + +configure.ac: +AC_REQUIRE([gl_HEADER_SYS_SELECT]) +if test "$ac_cv_header_winsock2_h" = yes; then + AC_LIBOBJ([winsock-select]) +fi +gl_SYS_SELECT_MODULE_INDICATOR([select]) + +Makefile.am: + +Include: +#include + +License: +LGPLv2+ + +Maintainer: +Simon Josefsson diff --git a/modules/sys_select b/modules/sys_select index 4f1391781..ffb5fae85 100644 --- a/modules/sys_select +++ b/modules/sys_select @@ -3,11 +3,9 @@ A for systems lacking it. Files: lib/sys_select.in.h -lib/winsock-select.c m4/sys_select_h.m4 Depends-on: -alloca include_next sys_socket sys_time @@ -29,6 +27,7 @@ sys/select.h: sys_select.in.h -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_SYS_SELECT_H''@|$(NEXT_SYS_SELECT_H)|g' \ -e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \ + -e 's|@''GNULIB_SELECT''@|$(GNULIB_SELECT)|g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ < $(srcdir)/sys_select.in.h; \ } > $@-t