Mercurial > hg > octave-nkf > gnulib-hg
changeset 8378:0413e343def8
Make <sys/select.h> self-contained, i.e. make it possible to include it
without prior <sys/types.h>.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Wed, 07 Mar 2007 23:08:22 +0000 |
parents | a8e9ed7caeae |
children | d01509bbd3bc |
files | ChangeLog lib/sys_select_.h modules/sys_select |
diffstat | 3 files changed, 53 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2007-03-03 Bruno Haible <bruno@clisp.org> + + * lib/sys_select_.h: New file. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h + is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H. + * modules/sys_select (Files): Add lib/sys_select_.h. + (Depends-on): Add absolute-header. + (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H + into sys/select.h. + 2007-03-02 Bruno Haible <bruno@clisp.org> * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
new file mode 100644 --- /dev/null +++ b/lib/sys_select_.h @@ -0,0 +1,37 @@ +/* Substitute for <sys/select.h>. + Copyright (C) 2007 Free Software Foundation, Inc. + + 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 _GL_SYS_SELECT_H +#define _GL_SYS_SELECT_H + +#if @HAVE_SYS_SELECT_H@ + +/* On many platforms, <sys/select.h> assumes prior inclusion of + <sys/types.h>. */ + +# include <sys/types.h> +# include @ABSOLUTE_SYS_SELECT_H@ + +#else + +/* A platform that lacks <sys/select.h>. */ + +# include <sys/socket.h> + +#endif + +#endif /* _GL_SYS_SELECT_H */
--- a/modules/sys_select +++ b/modules/sys_select @@ -1,10 +1,12 @@ Description: -A <sys/select.h> for systems lacking it (e.g., Mingw). +A <sys/select.h> for systems lacking it. Files: +lib/sys_select_.h m4/sys_select_h.m4 Depends-on: +absolute-header sys_socket configure.ac: @@ -20,7 +22,9 @@ @MKDIR_P@ sys rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - echo '#include <sys/socket.h>'; \ + sed -e 's|@''ABSOLUTE_SYS_SELECT_H''@|$(ABSOLUTE_SYS_SELECT_H)|g' \ + -e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \ + < $(srcdir)/sys_select_.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += sys/select.h sys/select.h-t