changeset 13801:634db78ff254

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 <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Wed, 13 Oct 2010 14:54:00 -0600
parents ffc169da68eb
children b75ebfad6bbc
files ChangeLog doc/posix-headers/termios.texi lib/termios.in.h m4/termios_h.m4 modules/termios
diffstat 5 files changed, 24 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2010-10-13  Eric Blake  <eblake@redhat.com>
+
+	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  <meyering@redhat.com>
 
 	git-version-gen: don't require that .git/ be in the current dir
--- a/doc/posix-headers/termios.texi
+++ b/doc/posix-headers/termios.texi
@@ -7,11 +7,11 @@
 
 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
--- 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
--- a/m4/termios_h.m4
+++ b/m4/termios_h.m4
@@ -12,6 +12,11 @@
 
   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 @@
   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])
 ])
--- a/modules/termios
+++ b/modules/termios
@@ -27,6 +27,7 @@
 	      -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; \