From: Eric Blake Date: Wed, 13 Oct 2010 20:54:00 +0000 (-0600) Subject: termios: fix compilation on mingw X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b6d1430494cdd252cd52eca6abf88b1a00f6c983;p=pspp termios: fix compilation on mingw * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default. (gl_TERMIOS_H): Adjust it on mingw. * modules/termios (Makefile.am): Substitute new key. * lib/termios.in.h (includes): Make include_next conditional. * doc/posix-headers/termios.texi (termios.h): Update documentation. Reported by Daniel P. Berrange. Signed-off-by: Eric Blake --- diff --git a/ChangeLog b/ChangeLog index 9a4ed578f1..acb19348cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-10-13 Eric Blake + + termios: fix compilation on mingw + * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default. + (gl_TERMIOS_H): Adjust it on mingw. + * modules/termios (Makefile.am): Substitute new key. + * lib/termios.in.h (includes): Make include_next conditional. + * doc/posix-headers/termios.texi (termios.h): Update + documentation. + Reported by Daniel P. Berrange. + 2010-10-13 Jim Meyering git-version-gen: don't require that .git/ be in the current dir diff --git a/doc/posix-headers/termios.texi b/doc/posix-headers/termios.texi index cf9c24bdb8..7f5b67098d 100644 --- a/doc/posix-headers/termios.texi +++ b/doc/posix-headers/termios.texi @@ -7,11 +7,11 @@ Gnulib module: termios Portability problems fixed by Gnulib: @itemize +@item +This header file is missing on some platforms: +mingw. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -This header file is missing on some platforms: -mingw. @end itemize diff --git a/lib/termios.in.h b/lib/termios.in.h index 5728ab691a..10ef3e7acc 100644 --- a/lib/termios.in.h +++ b/lib/termios.in.h @@ -23,7 +23,9 @@ @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_TERMIOS_H@ +#if @HAVE_TERMIOS_H@ +# @INCLUDE_NEXT@ @NEXT_TERMIOS_H@ +#endif #ifndef _GL_TERMIOS_H #define _GL_TERMIOS_H diff --git a/m4/termios_h.m4 b/m4/termios_h.m4 index d6b3c062e5..151cc4fc96 100644 --- a/m4/termios_h.m4 +++ b/m4/termios_h.m4 @@ -12,6 +12,11 @@ AC_DEFUN([gl_TERMIOS_H], gl_CHECK_NEXT_HEADERS([termios.h]) + AC_CHECK_HEADERS_ONCE([termios.h]) + if test $ac_cv_header_termios_h != yes; then + HAVE_TERMIOS_H=0 + fi + dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not dnl guaranteed by C89. @@ -33,4 +38,5 @@ AC_DEFUN([gl_TERMIOS_H_DEFAULTS], GNULIB_TCGETSID=0; AC_SUBST([GNULIB_TCGETSID]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_TCGETSID=1; AC_SUBST([HAVE_TCGETSID]) + HAVE_TERMIOS_H=1; AC_SUBST([HAVE_TERMIOS_H]) ]) diff --git a/modules/termios b/modules/termios index 2930c1a1b7..8c9ceba1da 100644 --- a/modules/termios +++ b/modules/termios @@ -27,6 +27,7 @@ termios.h: termios.in.h $(CXXDEFS_H) $(WARN_ON_USE_H) -e 's|@''NEXT_TERMIOS_H''@|$(NEXT_TERMIOS_H)|g' \ -e 's|@''GNULIB_TCGETSID''@|$(GNULIB_TCGETSID)|g' \ -e 's|@''HAVE_TCGETSID''@|$(HAVE_TCGETSID)|g' \ + -e 's|@''HAVE_TERMIOS_H''@|$(HAVE_TERMIOS_H)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/termios.in.h; \