minizip: Fix compatibility with Gentoo's unique zlib API

Fixes #10539 in a diplomatic way (as opposed to telling Gentoo users
to just change their distro or rebuild zlib from upstream...).

(cherry picked from commit 67e6c1b735)
This commit is contained in:
Rémi Verschelde 2017-08-22 20:00:19 +02:00
parent 67a093e844
commit 8bbe893319
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,27 @@
diff --git a/thirdparty/minizip/ioapi.h b/thirdparty/minizip/ioapi.h
index f25ab6464..6043d34ce 100644
--- a/thirdparty/minizip/ioapi.h
+++ b/thirdparty/minizip/ioapi.h
@@ -44,6 +44,22 @@
#include <stdlib.h>
#include "zlib.h"
+/* GODOT start */
+/* Mighty Gentoo saves the day by breaking the API of their zlib.h,
+ * removing this definition of OF(args) for no practical reason
+ * worth breaking compatibility with all projects that embed minizip
+ * while trying not to diverge too much from upstream zlib.
+ * Cf. https://github.com/godotengine/godot/issues/10539
+ *
+ * "By and large, this is good open source behaviour, and fits with
+ * the gentoo _don't fuck with upstream's releases_ philosophy"
+ * -- Gentoo philosopher
+ */
+#ifndef OF /* function prototypes */
+ #define OF(args) args
+#endif
+/* GODOT end */
+
#if defined(USE_FILE32API)
#define fopen64 fopen
#define ftello64 ftell

View File

@ -44,6 +44,22 @@
#include <stdlib.h>
#include "zlib.h"
/* GODOT start */
/* Mighty Gentoo saves the day by breaking the API of their zlib.h,
* removing this definition of OF(args) for no practical reason
* worth breaking compatibility with all projects that embed minizip
* while trying not to diverge too much from upstream zlib.
* Cf. https://github.com/godotengine/godot/issues/10539
*
* "By and large, this is good open source behaviour, and fits with
* the gentoo _don't fuck with upstream's releases_ philosophy"
* -- Gentoo philosopher
*/
#ifndef OF /* function prototypes */
#define OF(args) args
#endif
/* GODOT end */
#if defined(USE_FILE32API)
#define fopen64 fopen
#define ftello64 ftell