]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/unzip.h
open registry keys in read-only mode as we might not have the rights for full access...
[wxWidgets.git] / src / common / unzip.h
index 024e3d9cd667de629b7b2b1e9c154453ad5c6733..acb137bc66e90c4e364534c47da80e3441950de9 100644 (file)
@@ -52,19 +52,37 @@ $Id$
 extern "C" {
 #endif
 
+/* include zlib.h if not done yet */
 #ifndef _ZLIB_H
-//#include "zlib.h"
-// normally, the compiler options should contain -I../zlib, but it is
-// apparently not the case for all MSW makefiles and so, unless we use
-// configure (which defines __WX_SETUP_H__) or it is explicitly overridden by
-// the user (who can define wxUSE_ZLIB_H_IN_PATH), we hardcode the path here
-#if defined(__WXMSW__) && !defined(__WX_SETUP_H__) && !defined(wxUSE_ZLIB_H_IN_PATH)
-   #include "../zlib/zlib.h"
-#elif defined(__WXMAC__) && defined(__UNIX__)
-   #include <Kernel/net/zlib.h>
-#else
-   #include "zlib.h"
+    /*
+       normally, the compiler options should contain -I../zlib, but it is
+       apparently not the case for all MSW makefiles and so, unless we use
+       configure (which defines __WX_SETUP_H__) or it is explicitly overridden
+       by the user (who can define wxUSE_ZLIB_H_IN_PATH), we hardcode the path
+       here
+     */
+#   if defined(__WXMSW__) && !defined(__WX_SETUP_H__) && !defined(wxUSE_ZLIB_H_IN_PATH)
+#       include "../zlib/zlib.h"
+#   else
+#       include "zlib.h"
+#   endif
+#endif /* _ZLIB_H */
+
+/*
+   Some system zlib.h headers are modified to not define the OF() macro but use
+   the (standard) __P() instead (example: NetBSD 1.6), work around this if
+   needed assuming that we deal with an ANSI C compiler (which is a natural
+   assumption in 21st century!)
+ */
+#ifndef OF
+#   define OF(args) args
 #endif
+
+/*
+   And on some systems ZEXPORT is not defined neither -- work around this too
+ */
+#ifndef ZEXPORT
+#   define ZEXPORT
 #endif
 
 #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP)