Our current version of zlib has a bug where zlib has an unsatisfied reference to _wopen on Cygnwin.

This is a bug in the upstream zlib and is being discussed there. This patch (from Yaakov Selkowitz) works around the problem and we'll carry it as a local change until upstream decides on the proper fix.

Installed on the trunk.

Jeff
diff --git a/zlib/ChangeLog.gcj b/zlib/ChangeLog.gcj
index 4792811..9a7fa51 100644
--- a/zlib/ChangeLog.gcj
+++ b/zlib/ChangeLog.gcj
@@ -1,3 +1,10 @@
+2017-03-15  Yaakov Selkowitz <yselkow...@redhat.com>
+
+       PR bootstrap/79771
+       * gzguts.h (WIDECHAR): Do not define for __CYGWIN__.
+       * zlib.h (gzopen_w): Do not declare for __CYGWIN__.
+       * win32/zlib.def: Remove gzopen_w.
+               
 2017-01-22  Matthias Klose  <d...@ubuntu.com>
 
        * Import zlib 1.2.11.
diff --git a/zlib/gzguts.h b/zlib/gzguts.h
index 990a4d2..6378d46 100644
--- a/zlib/gzguts.h
+++ b/zlib/gzguts.h
@@ -39,7 +39,7 @@
 #  include <io.h>
 #endif
 
-#if defined(_WIN32) || defined(__CYGWIN__)
+#if defined(_WIN32)
 #  define WIDECHAR
 #endif
 
diff --git a/zlib/win32/zlib.def b/zlib/win32/zlib.def
index 784b138..0cb3f5d 100644
--- a/zlib/win32/zlib.def
+++ b/zlib/win32/zlib.def
@@ -91,4 +91,3 @@ EXPORTS
     inflateCodesUsed
     inflateResetKeep
     deflateResetKeep
-    gzopen_w
diff --git a/zlib/zlib.h b/zlib/zlib.h
index f09cdaf..49dfcec 100644
--- a/zlib/zlib.h
+++ b/zlib/zlib.h
@@ -1893,7 +1893,7 @@ ZEXTERN int            ZEXPORT inflateValidate 
OF((z_streamp, int));
 ZEXTERN unsigned long  ZEXPORT inflateCodesUsed OF ((z_streamp));
 ZEXTERN int            ZEXPORT inflateResetKeep OF((z_streamp));
 ZEXTERN int            ZEXPORT deflateResetKeep OF((z_streamp));
-#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(Z_SOLO)
+#if defined(_WIN32) && !defined(Z_SOLO)
 ZEXTERN gzFile         ZEXPORT gzopen_w OF((const wchar_t *path,
                                             const char *mode));
 #endif

Reply via email to