From 33ae78bbc6c6743c27ff73de2468e1b43685eb3f Mon Sep 17 00:00:00 2001 From: Peter Kahle Date: Thu, 18 Mar 2010 13:54:34 -0400 Subject: [PATCH] Fixing zlib compilation on MinGW-w64. Added patch to zlib configure script to make it MinGW-aware. (also submitted to zlib project) Updated release-zlib.sh to make it apply the patch before compiling. [jes: adjusted to zlib-1.2.5, which did not take Peter's patch] Signed-off-by: Johannes Schindelin --- src/mingw-w64/patch/zlib-config.patch | 16 ++++++++++++++++ src/mingw-w64/release-zlib.sh | 9 ++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 src/mingw-w64/patch/zlib-config.patch diff --git a/src/mingw-w64/patch/zlib-config.patch b/src/mingw-w64/patch/zlib-config.patch new file mode 100644 index 00000000..c1265dc7 --- /dev/null +++ b/src/mingw-w64/patch/zlib-config.patch @@ -0,0 +1,16 @@ +diff --git a/configure b/configure +index bd9edd2..23a9d60 100644 +--- a/configure ++++ b/configure +@@ -119,9 +119,9 @@ if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then + fi + case "$uname" in + Linux* | linux* | GNU | GNU/* | *BSD | DragonFly) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;; +- CYGWIN* | Cygwin* | cygwin* | OS/2*) ++ CYGWIN* | Cygwin* | cygwin* | OS/2* | MINGW*) + EXE='.exe' ;; +- MINGW*|mingw*) ++ DISABLED_MINGW*|mingw*) + # temporary bypass + rm -f $test.[co] $test $test$shared_ext + echo "Please use win32/Makefile.gcc instead." diff --git a/src/mingw-w64/release-zlib.sh b/src/mingw-w64/release-zlib.sh index 962bba1d..dd416070 100644 --- a/src/mingw-w64/release-zlib.sh +++ b/src/mingw-w64/release-zlib.sh @@ -13,12 +13,19 @@ test -f $file || curl $mirror$file > $file || exit # unpack it test -d $dir || tar xzf $file || exit +# initialize Git repository +test -d $dir/.git || +(cd $dir && git init && git add . && git commit -m initial) || exit + +# patch it +(cd $dir && git apply --verbose ../patch/zlib-config.patch) || exit + # compile it sysroot="$(pwd)/sysroot/x86_64-w64-mingw32" cross="$(pwd)/sysroot/bin/x86_64-w64-mingw32" test -f $dir/example.exe || { (cd $dir && - CC="$cross-gcc.exe" AR="$cross-ar.exe rc" RANLIB="$cross-ranlib.exe" \ + CC="$cross-gcc.exe" AR="$cross-ar.exe" RANLIB="$cross-ranlib.exe" \ ./configure --prefix=$sysroot && make) || exit } -- 2.11.4.GIT