termios: fix compilation on mingw
authorEric Blake <eblake@redhat.com>
Wed, 13 Oct 2010 20:54:00 +0000 (14:54 -0600)
committerIan Beckwith <ianb@erislabs.net>
Sat, 23 Oct 2010 21:57:28 +0000 (22:57 +0100)
* 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>
(cherry picked from commit b6d1430494cdd252cd52eca6abf88b1a00f6c983)

ChangeLog
doc/posix-headers/termios.texi
lib/termios.in.h
m4/termios_h.m4
modules/termios

index e7838e1..f5f01c2 100644 (file)
--- 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>
 
        test-select: avoid warn_unused_result warnings
index cf9c24b..7f5b670 100644 (file)
@@ -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
index 5728ab6..10ef3e7 100644 (file)
@@ -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
index d6b3c06..151cc4f 100644 (file)
@@ -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])
 ])
index 2930c1a..8c9ceba 100644 (file)
@@ -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; \