Hash :
76bb60b4
Author :
Date :
2008-09-23T15:11:23
implement full-blown select(2) for winsock 2008-09-24 Paolo Bonzini <bonzini@gnu.org> * NEWS: Document increased portability that sys_select now provides. * lib/sys_select.in.h: Install select wrapper. * lib/sys_socket.in.h: Use more descriptive name when there is no select wrapper. * lib/winsock-select.c: New. * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used. Require gl_HEADER_SYS_SOCKET. * modules/sys_select: Depend on alloca, add lib/winsock-select.c. * modules/sys_select-tests: Copy dependencies from modules/poll-tests. * tests/test-sys_select.c: Add functional tests.
# sys_select_h.m4 serial 4
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,
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_CACHE_CHECK([whether <sys/select.h> is self-contained],
[gl_cv_header_sys_select_h_selfcontained],
[
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/select.h>]], [[]])],
[gl_cv_header_sys_select_h_selfcontained=yes],
[gl_cv_header_sys_select_h_selfcontained=no])
])
if test $gl_cv_header_sys_select_h_selfcontained = yes; then
SYS_SELECT_H=''
else
SYS_SELECT_H='sys/select.h'
gl_CHECK_NEXT_HEADERS([sys/select.h])
if test $ac_cv_header_sys_select_h = yes; then
HAVE_SYS_SELECT_H=1
else
HAVE_SYS_SELECT_H=0
fi
AC_SUBST([HAVE_SYS_SELECT_H])
fi
AC_SUBST([SYS_SELECT_H])
if test x$ac_cv_header_winsock2_h = xyes; then
AC_LIBOBJ(winsock-select)
fi
])