Ken Brown wrote:
Treating Cygwin the same as Glibc with respect to inclusion of system headers 
seems to solve the problem:

Thanks, I installed the attached.
>From cfbc1c62a1ea5c5809d11b957ad29cd820db15b8 Mon Sep 17 00:00:00 2001
From: Paul Eggert <egg...@cs.ucla.edu>
Date: Mon, 21 Mar 2016 00:49:17 -0700
Subject: [PATCH] sys_select: port to new Cygwin

Problem reported by Ken Brown in:
https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00054.html
* lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
diagnostics.
---
 ChangeLog           |  8 ++++++++
 lib/sys_select.in.h | 10 ++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a2966d0..b1c35af 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2016-03-21  Paul Eggert  <egg...@cs.ucla.edu>
+
+	sys_select: port to new Cygwin
+	Problem reported by Ken Brown in:
+	https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00054.html
+	* lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
+	diagnostics.
+
 2016-03-17  Jim Meyering  <meyer...@fb.com>
 
 	test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
diff --git a/lib/sys_select.in.h b/lib/sys_select.in.h
index d6d3f9f..7281144 100644
--- a/lib/sys_select.in.h
+++ b/lib/sys_select.in.h
@@ -81,8 +81,9 @@
    of 'struct timeval', and no definition of this type.
    Also, Mac OS X, AIX, HP-UX, IRIX, Solaris, Interix declare select()
    in <sys/time.h>.
-   But avoid namespace pollution on glibc systems.  */
-# ifndef __GLIBC__
+   But avoid namespace pollution on glibc systems and "unknown type
+   name" problems on Cygwin.  */
+# if !(defined __GLIBC__ || defined __CYGWIN__)
 #  include <sys/time.h>
 # endif
 
@@ -100,10 +101,11 @@
 #endif
 
 /* Get definition of 'sigset_t'.
-   But avoid namespace pollution on glibc systems.
+   But avoid namespace pollution on glibc systems and "unknown type
+   name" problems on Cygwin.
    Do this after the include_next (for the sake of OpenBSD 5.0) but before
    the split double-inclusion guard (for the sake of Solaris).  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
+#if !((defined __GLIBC__ || defined __CYGWIN__) && !defined __UCLIBC__)
 # include <signal.h>
 #endif
 
-- 
2.5.0

Reply via email to