new file mode 100644
@@ -0,0 +1,18 @@
+diff -urN a/configure b/configure
+--- a/configure 2013-03-24 06:30:09.000000000 +0100
++++ b/configure 2014-07-29 22:43:45.017575927 +0200
+@@ -216,13 +216,7 @@
+ SHAREDLIB=libz$shared_ext
+ SHAREDLIBV=libz.$VER$shared_ext
+ SHAREDLIBM=libz.$VER1$shared_ext
+- LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"}
+- if libtool -V 2>&1 | grep Apple > /dev/null; then
+- AR="libtool"
+- else
+- AR="/usr/bin/libtool"
+- fi
+- ARFLAGS="-o" ;;
++ LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBV -compatibility_version $VER1 -current_version $VER3"} ;;
+ *) LDSHARED=${LDSHARED-"$cc -shared"} ;;
+ esac
+ else
new file mode 100644
@@ -0,0 +1,293 @@
+diff -urN a/configure b/configure
+--- a/configure 2013-03-24 06:30:09.000000000 +0100
++++ b/configure 2014-06-25 22:21:13.245766147 +0200
+@@ -26,6 +26,7 @@
+
+ # destination name for static library
+ STATICLIB=libz.a
++IMPORTLIB=
+
+ # extract zlib version numbers from zlib.h
+ VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
+@@ -75,6 +76,7 @@
+ gcc=0
+ old_cc="$CC"
+ old_cflags="$CFLAGS"
++old_ldflags="$LDFLAGS"
+ OBJC='$(OBJZ) $(OBJG)'
+ PIC_OBJC='$(PIC_OBJZ) $(PIC_OBJG)'
+
+@@ -189,14 +191,23 @@
+ LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"}
+ LDCONFIG="ldconfig -m" ;;
+ CYGWIN* | Cygwin* | cygwin* | OS/2*)
++ CFLAGS="${CFLAGS} -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64"
++ SFLAGS="${CFLAGS}"
++ LDFLAGS="-L. -lz ${old_ldflags}"
++ shared_ext=".dll"
++ SHAREDLIB='cygz.dll'
++ IMPORTLIB='libz.dll.a'
++ LDSHARED=${LDSHARED-"$cc -shared -Wl,-export-all -Wl,--enable-auto-image-base -Wl,--out-implib=${IMPORTLIB}"}
++ LDSHAREDLIBC=''
+ EXE='.exe' ;;
+ MINGW* | mingw*)
+-# temporary bypass
+- rm -f $test.[co] $test $test$shared_ext
+- echo "Please use win32/Makefile.gcc instead." | tee -a configure.log
+- leave 1
+- LDSHARED=${LDSHARED-"$cc -shared"}
+- LDSHAREDLIBC=""
++ SFLAGS="${CFLAGS}"
++ LDFLAGS="-L. -lz ${old_ldflags}"
++ shared_ext=".dll"
++ SHAREDLIB='libz-1.dll'
++ IMPORTLIB='libz.dll.a'
++ LDSHARED=${LDSHARED-"$cc -shared -Wl,-export-all -Wl,--enable-auto-image-base -Wl,--out-implib=${IMPORTLIB}"}
++ LDSHAREDLIBC=''
+ EXE='.exe' ;;
+ QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
+ # (alain.bonnefoy@icbt.com)
+@@ -317,10 +328,29 @@
+ esac
+ fi
+
++case "$uname" in
++ *CYGWIN* | *Cygwin* | *cygwin* )
++ # On cygwin, we always build both shared and static libs
++ ALL="static shared"
++ SHAREDLIBPOST='true'
++ SHAREDTARGET=${SHAREDLIB}
++ TEST="all teststatic testshared"
++ ;;
++ *MINGW* | *Mingw* | *mingw* )
++ # On Mingw, we always build both shared and static libs
++ ALL="static shared"
++ SHAREDLIBPOST='true'
++ SHAREDTARGET=${SHAREDLIB}
++ TEST="all teststatic testshared"
++ ;;
++ *)
++
+ # destination names for shared library if not defined above
+ SHAREDLIB=${SHAREDLIB-"libz$shared_ext"}
+ SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
+ SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"}
++SHAREDLIBPOST='(rm -f $(SHAREDLIB) $(SHAREDLIBM); ln -s $@ $(SHAREDLIB) ; ln -s $@ $(SHAREDLIBM) )'
++SHAREDTARGET='$(SHAREDLIBV)'
+
+ echo >> configure.log
+
+@@ -348,6 +378,8 @@
+ return $ret
+ }
+ fi
++ ;;
++esac
+
+ tryboth()
+ {
+@@ -761,6 +793,9 @@
+ echo SHAREDLIBM = $SHAREDLIBM >> configure.log
+ echo SHAREDLIBV = $SHAREDLIBV >> configure.log
+ echo STATICLIB = $STATICLIB >> configure.log
++echo IMPORTLIB = $IMPORTLIB >> configure.log
++echo SHAREDLIBPOST = $SHAREDLIBPOST >> configure.log
++echo SHAREDTARGET = $SHAREDTARGET >> configure.log
+ echo TEST = $TEST >> configure.log
+ echo VER = $VER >> configure.log
+ echo Z_U4 = $Z_U4 >> configure.log
+@@ -781,9 +816,12 @@
+ /^LDSHARED *=/s#=.*#=$LDSHARED#
+ /^CPP *=/s#=.*#=$CPP#
+ /^STATICLIB *=/s#=.*#=$STATICLIB#
++/^IMPORTLIB *=/s#=.*#=$IMPORTLIB#
+ /^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
+ /^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
+ /^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
++/^SHAREDLIBPOST *=/s#=.*#=$SHAREDLIBPOST#
++/^SHAREDTARGET *=/s#=.*#=$SHAREDTARGET#
+ /^AR *=/s#=.*#=$AR#
+ /^ARFLAGS *=/s#=.*#=$ARFLAGS#
+ /^RANLIB *=/s#=.*#=$RANLIB#
+@@ -809,9 +847,12 @@
+ /^CPP *=/s#=.*#=$CPP#
+ /^LDSHARED *=/s#=.*#=$LDSHARED#
+ /^STATICLIB *=/s#=.*#=$STATICLIB#
++/^IMPORTLIB *=/s#=.*#=$IMPORTLIB#
+ /^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
+ /^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
+ /^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
++/^SHAREDLIBPOST *=/s#=.*#=$SHAREDLIBPOST#
++/^SHAREDTARGET *=/s#=.*#=$SHAREDTARGET#
+ /^AR *=/s#=.*#=$AR#
+ /^ARFLAGS *=/s#=.*#=$ARFLAGS#
+ /^RANLIB *=/s#=.*#=$RANLIB#
+diff -urN a/Makefile.in b/Makefile.in
+--- a/Makefile.in 2013-04-29 00:57:11.000000000 +0200
++++ b/Makefile.in 2014-06-25 22:22:45.292872177 +0200
+@@ -34,6 +34,9 @@
+ SHAREDLIB=libz.so
+ SHAREDLIBV=libz.so.1.2.8
+ SHAREDLIBM=libz.so.1
++IMPORTLIB=
++SHAREDLIBPOST='(rm -f $(SHAREDLIB) $(SHAREDLIBM); ln -s $@ $(SHAREDLIB) ; ln -s $@ $(SHAREDLIBM) )'
++SHAREDTARGET=$(SHAREDLIBV)
+ LIBS=$(STATICLIB) $(SHAREDLIBV)
+
+ AR=ar
+@@ -114,17 +117,17 @@
+ rm -f $$TMP64
+
+ infcover.o: test/infcover.c zlib.h zconf.h
+- $(CC) $(CFLAGS) -I. -c -o $@ test/infcover.c
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I. -c -o $@ test/infcover.c
+
+ infcover: infcover.o libz.a
+- $(CC) $(CFLAGS) -o $@ infcover.o libz.a
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ infcover.o libz.a
+
+ cover: infcover
+ rm -f *.gcda
+ ./infcover
+ gcov inf*.c
+
+-libz.a: $(OBJS)
++$(STATICLIB): $(OBJS)
+ $(AR) $(ARFLAGS) $@ $(OBJS)
+ -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
+
+@@ -141,48 +144,49 @@
+ rm -f _match.s
+
+ example.o: test/example.c zlib.h zconf.h
+- $(CC) $(CFLAGS) -I. -c -o $@ test/example.c
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I. -c -o $@ test/example.c
+
+ minigzip.o: test/minigzip.c zlib.h zconf.h
+- $(CC) $(CFLAGS) -I. -c -o $@ test/minigzip.c
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I. -c -o $@ test/minigzip.c
+
+ example64.o: test/example.c zlib.h zconf.h
+- $(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/example.c
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/example.c
+
+ minigzip64.o: test/minigzip.c zlib.h zconf.h
+- $(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/minigzip.c
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/minigzip.c
+
+ .SUFFIXES: .lo
+
++.c.o:
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $*.o $<
++
+ .c.lo:
+ -@mkdir objs 2>/dev/null || test -d objs
+- $(CC) $(SFLAGS) -DPIC -c -o objs/$*.o $<
++ $(CC) $(SFLAGS) $(EXTRA_CFLAGS) -DPIC -c -o objs/$*.o $<
+ -@mv objs/$*.o $@
+
+-placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a
+- $(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
+- rm -f $(SHAREDLIB) $(SHAREDLIBM)
+- ln -s $@ $(SHAREDLIB)
+- ln -s $@ $(SHAREDLIBM)
++placebo $(SHAREDTARGET): $(PIC_OBJS) $(STATICLIB)
++ $(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS) $(EXTRA_LDFLAGS)
++ $(SHAREDLIBPOST)
+ -@rmdir objs
+
+ example$(EXE): example.o $(STATICLIB)
+- $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ example.o $(TEST_LDFLAGS) $(EXTRA_LDFLAGS)
+
+ minigzip$(EXE): minigzip.o $(STATICLIB)
+- $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS) $(EXTRA_LDFLAGS)
+
+-examplesh$(EXE): example.o $(SHAREDLIBV)
+- $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
++examplesh$(EXE): example.o $(SHAREDTARGET)
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ example.o -L. $(SHAREDTARGET)
+
+-minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
+- $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
++minigzipsh$(EXE): minigzip.o $(SHAREDTARGET)
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ minigzip.o -L. $(SHAREDTARGET)
+
+ example64$(EXE): example64.o $(STATICLIB)
+- $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ example64.o $(TEST_LDFLAGS) $(EXTRA_LDFLAGS)
+
+ minigzip64$(EXE): minigzip64.o $(STATICLIB)
+- $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS) $(EXTRA_LDFLAGS)
+
+ install-libs: $(LIBS)
+ -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
+@@ -190,18 +194,31 @@
+ -@if [ ! -d $(DESTDIR)$(sharedlibdir) ]; then mkdir -p $(DESTDIR)$(sharedlibdir); fi
+ -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
+ -@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
+- cp $(STATICLIB) $(DESTDIR)$(libdir)
+- chmod 644 $(DESTDIR)$(libdir)/$(STATICLIB)
+- -@($(RANLIB) $(DESTDIR)$(libdir)/libz.a || true) >/dev/null 2>&1
+- -@if test -n "$(SHAREDLIBV)"; then \
+- cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \
+- echo "cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)"; \
+- chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
+- echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV)"; \
+- rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
+- ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); \
+- ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
+- ($(LDCONFIG) || true) >/dev/null 2>&1; \
++ cp $(STATICLIB) $(IMPORTLIB) $(DESTDIR)$(libdir)
++ -@(cd $(DESTDIR)$(libdir); chmod 644 $(STATICLIB) $(IMPORTLIB))
++ -@($(RANLIB) $(DESTDIR)$(libdir)/$(STATICLIB) || true) >/dev/null 2>&1
++ -@if test -z "$(IMPORTLIB)" ; then \
++ if test -n "$(SHAREDTARGET)" ; then \
++ if test -f "$(SHAREDTARGET)" ; then \
++ cp $(SHAREDTARGET) $(DESTDIR)$(sharedlibdir); \
++ echo "cp $(SHAREDTARGET) $(DESTDIR)$(sharedlibdir)"; \
++ chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDTARGET); \
++ echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDTARGET)"; \
++ fi; \
++ fi; \
++ if test -n "$(SHAREDLIBV)"; then \
++ if test -f "$(SHAREDLIBV)"; then \
++ rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
++ ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); \
++ ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
++ ($(LDCONFIG) || true) >/dev/null 2>&1; \
++ fi; \
++ fi; \
++ else \
++ cp $(SHAREDTARGET) $(DESTDIR)$(sharedlibdir); \
++ echo "cp $(SHAREDTARGET) $(DESTDIR)$(sharedlibdir)"; \
++ chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDTARGET); \
++ echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDTARGET)"; \
+ fi
+ cp zlib.3 $(DESTDIR)$(man3dir)
+ chmod 644 $(DESTDIR)$(man3dir)/zlib.3
+@@ -217,12 +234,13 @@
+
+ uninstall:
+ cd $(DESTDIR)$(includedir) && rm -f zlib.h zconf.h
+- cd $(DESTDIR)$(libdir) && rm -f libz.a; \
++ cd $(DESTDIR)$(libdir) && rm -f $(STATCILIB) $(IMPORTLIB); \
+ if test -n "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \
+ rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
+ fi
+ cd $(DESTDIR)$(man3dir) && rm -f zlib.3
+ cd $(DESTDIR)$(pkgconfigdir) && rm -f zlib.pc
++ cd $(DESTDIR)$(sharedlibdir) && (rm -f $(SHAREDTARGET) || true) > /dev/null 2>&1
+
+ docs: zlib.3.pdf
+
+@@ -245,6 +263,7 @@
+ example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
+ example64$(EXE) minigzip64$(EXE) \
+ infcover \
++ $(STATICLIB) $(IMPORTLIB) $(SHAREDTARGET) $(SHAREDLIBV) $(SHAREDLIBV) $(SHAREDLIBM) \
+ libz.* foo.gz so_locations \
+ _match.s maketree contrib/infback9/*.o
+ rm -rf objs
new file mode 100644
@@ -0,0 +1,97 @@
+diff -urN a/configure b/configure
+--- a/configure 2014-06-25 22:25:38.431082847 +0200
++++ b/configure 2014-06-25 22:29:51.332290403 +0200
+@@ -68,6 +68,7 @@
+ mandir=${mandir-'${prefix}/share/man'}
+ shared_ext='.so'
+ shared=1
++static=1
+ solo=0
+ cover=0
+ zprefix=0
+@@ -100,7 +101,7 @@
+ -h* | --help)
+ echo 'usage:' | tee -a configure.log
+ echo ' configure [--const] [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]' | tee -a configure.log
+- echo ' [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log
++ echo ' [--static] [--shared] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log
+ echo ' [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' | tee -a configure.log
+ exit 0 ;;
+ -p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;;
+@@ -114,7 +115,9 @@
+ -l* | --libdir) libdir="$2"; shift; shift ;;
+ -i* | --includedir) includedir="$2"; shift; shift ;;
+ -s* | --shared | --enable-shared) shared=1; shift ;;
+- -t | --static) shared=0; shift ;;
++ -t | --static | --enable-static) static=1; shift ;;
++ --no-shared | --disable-shared) shared=0; shift ;;
++ --no-static | --disable-static) static=0; shift ;;
+ --solo) solo=1; shift ;;
+ --cover) cover=1; shift ;;
+ -z* | --zprefix) zprefix=1; shift ;;
+@@ -325,17 +328,13 @@
+ case "$uname" in
+ *CYGWIN* | *Cygwin* | *cygwin* )
+ # On cygwin, we always build both shared and static libs
+- ALL="static shared"
+ SHAREDLIBPOST='true'
+ SHAREDTARGET=${SHAREDLIB}
+- TEST="all teststatic testshared"
+ ;;
+ *MINGW* | *Mingw* | *mingw* )
+ # On Mingw, we always build both shared and static libs
+- ALL="static shared"
+ SHAREDLIBPOST='true'
+ SHAREDTARGET=${SHAREDLIB}
+- TEST="all teststatic testshared"
+ ;;
+ *)
+
+@@ -344,7 +343,9 @@
+ SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
+ SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"}
+ SHAREDLIBPOST='(rm -f $(SHAREDLIB) $(SHAREDLIBM); ln -s $@ $(SHAREDLIB) ; ln -s $@ $(SHAREDLIBM) )'
+-SHAREDTARGET='$(SHAREDLIBV)'
++SHAREDTARGET='$(SHAREDLIBV)' ;;
++
++esac
+
+ echo >> configure.log
+
+@@ -372,8 +373,6 @@
+ return $ret
+ }
+ fi
+- ;;
+-esac
+
+ tryboth()
+ {
+@@ -419,17 +418,22 @@
+ shared=0;
+ fi
+ fi
++
++ALL=""
++TEST="all"
++if test $static -eq 1; then
++ ALL="$ALL static"
++ TEST="$TEST teststatic"
++fi
+ if test $shared -eq 0; then
++ IMPORTLIB=""
+ LDSHARED="$CC"
+- ALL="static"
+- TEST="all teststatic"
+ SHAREDLIB=""
+ SHAREDLIBV=""
+ SHAREDLIBM=""
+- echo Building static library $STATICLIB version $VER with $CC. | tee -a configure.log
+ else
+- ALL="static shared"
+- TEST="all teststatic testshared"
++ ALL="$ALL shared"
++ TEST="$TEST testshared"
+ fi
+
+ # check for underscores in external names for use by assembler code
@@ -7,3 +7,7 @@ SRC_URI = "http://www.zlib.net/zlib-${PV}.tar.gz"
# gcc: libz.a: No such file or directory
# make: *** [libz.so.1.2.5] Error 1
PARALLEL_MAKE = ""
+
+SRC_URI += "file://mingw.patch"
+SRC_URI += "file://darwin.patch"
+SRC_URI += "file://static_shared.patch"