summaryrefslogtreecommitdiffstats
path: root/cpukit/zlib/zconf.h.cmakein
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/zlib/zconf.h.cmakein')
-rw-r--r--cpukit/zlib/zconf.h.cmakein30
1 files changed, 21 insertions, 9 deletions
diff --git a/cpukit/zlib/zconf.h.cmakein b/cpukit/zlib/zconf.h.cmakein
index eec8ab04f7..a2f71b1f32 100644
--- a/cpukit/zlib/zconf.h.cmakein
+++ b/cpukit/zlib/zconf.h.cmakein
@@ -317,10 +317,6 @@
# endif
#endif
-#ifdef HAVE_VISIBILITY_PRAGMA
-# define ZEXTERN __attribute__((visibility ("default"))) extern
-#endif
-
#ifndef ZEXTERN
# define ZEXTERN extern
#endif
@@ -366,8 +362,21 @@ typedef uLong FAR uLongf;
# define Z_HAVE_UNISTD_H
#endif
-#ifdef Z_HAVE_UNISTD_H
+#ifdef STDC
# include <sys/types.h> /* for off_t */
+#endif
+
+/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
+ * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
+ * though the former does not conform to the LFS document), but considering
+ * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
+ * equivalently requesting no 64-bit operations
+ */
+#if -_LARGEFILE64_SOURCE - -1 == 1
+# undef _LARGEFILE64_SOURCE
+#endif
+
+#if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
# include <unistd.h> /* for SEEK_* and off_t */
# ifdef VMS
# include <unixio.h> /* for off_t */
@@ -377,19 +386,22 @@ typedef uLong FAR uLongf;
# endif
#endif
-#ifdef _LARGEFILE64_SOURCE
-# include <sys/types.h>
-#endif
-
#ifndef SEEK_SET
# define SEEK_SET 0 /* Seek from beginning of file. */
# define SEEK_CUR 1 /* Seek from current position. */
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
#endif
+
#ifndef z_off_t
# define z_off_t long
#endif
+#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
+# define z_off64_t off64_t
+#else
+# define z_off64_t z_off_t
+#endif
+
#if defined(__OS400__)
# define NO_vsnprintf
#endif