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
}
-# 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,
AC_DEFUN([gl_HEADER_SYS_SELECT],
[
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+ AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS])
AC_CACHE_CHECK([whether <sys/select.h> is self-contained],
[gl_cv_header_sys_select_h_selfcontained],
[
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])
])
--- /dev/null
+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 <sys/select.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+Simon Josefsson
Files:
lib/sys_select.in.h
-lib/winsock-select.c
m4/sys_select_h.m4
Depends-on:
-alloca
include_next
sys_socket
sys_time
-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