summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-04-12 16:05:31 +0100
committerCaolán McNamara <caolanm@redhat.com>2012-04-13 13:15:25 +0100
commit452af5f4522e750627d0c0ac9fbc794aeb1f1f8f (patch)
tree950d062f9e183873d64b06e212568a3b0968bb58
parent99b04ed2be3023bec874fce529d453123f48ac99 (diff)
gbuildize internal zlib
and stick headers into the solver in the same hierarchy as is "standard" so we don't have to patch so much, similiarly rename to libz
-rw-r--r--RepositoryExternal.mk4
-rw-r--r--RepositoryFixes.mk6
-rw-r--r--RepositoryModule_ooo.mk1
-rw-r--r--cairo/cairo-1.10.2.patch44
-rw-r--r--cairo/cairo/makefile.mk5
-rw-r--r--clucene/CustomTarget_source.mk1
-rw-r--r--clucene/patches/clucene-internal-zlib.patch15
-rw-r--r--filter/source/flash/swfwriter1.cxx6
-rw-r--r--gdk-pixbuf/gdk-pixbuf-2.23.0-win32.patch2
-rw-r--r--glib/glib-2.28.1-win32.patch24
-rw-r--r--hwpfilter/source/hgzip.h5
-rw-r--r--hwpfilter/source/hiodev.cxx5
-rw-r--r--libgsf/libgsf-1.14.19.windows.patch4
-rw-r--r--libpng/libpng-1.5.1.patch48
-rw-r--r--moz/makefile.mk6
-rw-r--r--neon/neon.patch9
-rw-r--r--nss/nss.patch14
-rw-r--r--nss/prj/build.lst2
-rw-r--r--package/Library_package2.mk6
-rw-r--r--package/source/zipapi/Deflater.cxx4
-rw-r--r--package/source/zipapi/Inflater.cxx4
-rw-r--r--sdext/source/pdfimport/pdfparse/pdfentries.cxx4
-rw-r--r--sdext/source/pdfimport/test/tests.cxx4
-rw-r--r--sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx5
-rw-r--r--shell/inc/internal/zipfile.hxx4
-rw-r--r--shell/source/win32/ooofilereader/makefile.mk4
-rw-r--r--shell/source/win32/shlxthandler/columninfo/makefile.mk4
-rw-r--r--shell/source/win32/shlxthandler/infotips/makefile.mk4
-rw-r--r--shell/source/win32/shlxthandler/makefile.mk8
-rw-r--r--shell/source/win32/shlxthandler/ooofilt/makefile.mk8
-rw-r--r--shell/source/win32/shlxthandler/prophdl/makefile.mk4
-rw-r--r--shell/source/win32/shlxthandler/propsheets/makefile.mk4
-rw-r--r--shell/source/win32/shlxthandler/util/makefile.mk4
-rw-r--r--shell/source/win32/zipfile/makefile.mk4
-rw-r--r--solenv/inc/libs.mk6
-rw-r--r--tools/source/zcodec/zcodec.cxx6
-rw-r--r--zlib/CustomTarget_source.mk53
-rw-r--r--zlib/Makefile11
-rw-r--r--zlib/Module_zlib.mk36
-rw-r--r--zlib/Package_source.mk38
-rw-r--r--zlib/StaticLibrary_zlib.mk70
-rwxr-xr-xzlib/make_patched_header.pl66
-rw-r--r--zlib/makefile.mk75
-rw-r--r--zlib/patches/minizip-null.patch12
-rw-r--r--zlib/patches/zlib-1.2.5-gentoo.patch12
-rw-r--r--zlib/patches/zlib-1.2.5-minizip-fixuncrypt.patch14
-rw-r--r--zlib/patches/zlib-1.2.5-zip64.patch59
-rw-r--r--zlib/prj/build.lst5
-rw-r--r--zlib/prj/d.lst11
-rw-r--r--zlib/prj/makefile.mk1
-rw-r--r--zlib/zlib-1.2.5.patch67
51 files changed, 333 insertions, 485 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 10dc6332a93b..c0a3dd27b7b6 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -90,12 +90,12 @@ endef
else # !SYSTEM_ZLIB
$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
- zlib \
+ z \
))
define gb_LinkTarget__use_zlib
$(call gb_LinkTarget_use_static_libraries,$(1),\
- zlib \
+ z \
)
endef
diff --git a/RepositoryFixes.mk b/RepositoryFixes.mk
index 06495c003926..76516ebdeb20 100644
--- a/RepositoryFixes.mk
+++ b/RepositoryFixes.mk
@@ -53,7 +53,7 @@ gb_Library_DLLFILENAMES := $(patsubst icuuc:icuuc%,icuuc:icuuc40%,$(gb_Library_D
gb_Library_DLLFILENAMES := $(patsubst log_uno:log_uno%,log_uno:log_uno_uno%,$(gb_Library_DLLFILENAMES))
gb_Library_DLLFILENAMES := $(patsubst ucbhelper:ucbhelper%,ucbhelper:ucbhelper4%,$(gb_Library_DLLFILENAMES))
gb_Library_DLLFILENAMES := $(patsubst unsafe_uno:unsafe_uno%,unsafe_uno:unsafe_uno_uno%,$(gb_Library_DLLFILENAMES))
-gb_Library_DLLFILENAMES := $(patsubst z:z%,z:zlib%,$(gb_Library_DLLFILENAMES))
+gb_Library_DLLFILENAMES := $(patsubst z:z%,z:z%,$(gb_Library_DLLFILENAMES))
gb_Library_FILENAMES := $(patsubst sb:isb%,sb:basic%,$(gb_Library_FILENAMES))
gb_Library_FILENAMES := $(patsubst sfx:isfx%,sfx:sfx%,$(gb_Library_FILENAMES))
@@ -73,7 +73,7 @@ gb_Library_FILENAMES := $(patsubst rdf:irdf%,rdf:librdf.dll$(gb_Library_IARCEXT)
gb_Library_FILENAMES := $(patsubst ssl:issl%,ssl:ssl%,$(gb_Library_FILENAMES))
gb_Library_FILENAMES := $(patsubst xml2:ixml2%,xml2:libxml2$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
gb_Library_FILENAMES := $(patsubst xslt:ixslt%,xslt:libxslt$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst z:iz%,z:zlib%,$(gb_Library_FILENAMES))
+gb_Library_FILENAMES := $(patsubst z:iz%,z:z%,$(gb_Library_FILENAMES))
# Libraries not provided by mingw(-w64), available only in the Windows
@@ -108,7 +108,7 @@ gb_Library_FILENAMES := $(patsubst xmlsec1:ixmlsec1%,xmlsec1:libxmlsec%,$(gb_Lib
gb_Library_FILENAMES := $(patsubst xmlsec1-mscrypto:ixmlsec1-mscrypto%,xmlsec1-mscrypto:libxmlsec-mscrypto%,$(gb_Library_FILENAMES))
gb_Library_FILENAMES := $(patsubst xmlsec1-nss:ixmlsec1-nss%,xmlsec1-nss:libxmlsec-nss%,$(gb_Library_FILENAMES))
gb_Library_FILENAMES := $(patsubst xslt:ixslt%,xslt:libxslt%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst z:z%,z:zlib%,$(gb_Library_FILENAMES))
+gb_Library_FILENAMES := $(patsubst z:z%,z:z%,$(gb_Library_FILENAMES))
# change the names of all import libraries that don't have an "i" prefix as in our standard naming schema
diff --git a/RepositoryModule_ooo.mk b/RepositoryModule_ooo.mk
index ea5d5ab23816..b538f2157de7 100644
--- a/RepositoryModule_ooo.mk
+++ b/RepositoryModule_ooo.mk
@@ -139,6 +139,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\
xmloff \
xmlreader \
xmlscript \
+ z \
))
ifneq ($(SOLAR_JAVA),)
diff --git a/cairo/cairo-1.10.2.patch b/cairo/cairo-1.10.2.patch
index d13c1e4e135e..2234383941f9 100644
--- a/cairo/cairo-1.10.2.patch
+++ b/cairo/cairo-1.10.2.patch
@@ -38,7 +38,7 @@
DEFAULT_CFLAGS += -I. -I$(top_srcdir)
DEFAULT_CFLAGS += $(PIXMAN_CFLAGS) $(LIBPNG_CFLAGS) $(ZLIB_CFLAGS)
+DEFAULT_CFLAGS += $(SOLARINC)
-+DEFAULT_CFLAGS += -I$(SOLARVER)/$(INPATH)/inc/zlib -I$(SOLARVER)/$(INPATH)/inc/external/libpng -DZLIB_FIX -DDISABLE_SOME_FLOATING_POINT=1
++DEFAULT_CFLAGS += -I$(SOLARVER)/$(INPATH)/inc/external/libpng -DDISABLE_SOME_FLOATING_POINT=1
CAIRO_CFLAGS = $(DEFAULT_CFLAGS) $(CFLAGS)
@@ -189,20 +189,6 @@
cairo_cv_xml_use=$use_xml
cairo_cv_xml_cache_vars=" BASE REQUIRES CFLAGS NONPKGCONFIG_CFLAGS LIBS NONPKGCONFIG_LIBS NONPKGCONFIG_EXTRA_LIBS"
---- misc/cairo-1.10.2/src/cairo-deflate-stream.c 2010-06-18 13:47:12.000000000 +0200
-+++ misc/build/cairo-1.10.2/src/cairo-deflate-stream.c 2010-06-18 13:47:12.000000000 +0200
-@@ -37,7 +37,11 @@
- #include "cairoint.h"
- #include "cairo-error-private.h"
- #include "cairo-output-stream-private.h"
-+#ifdef ZLIB_FIX
-+#include <zlib/zlib.h>
-+#else
- #include <zlib.h>
-+#endif
-
- #define BUFFER_SIZE 16384
-
--- misc/cairo-1.10.2/src/cairo-output-stream.c 2010-07-12 10:57:03.000000000 +0200
+++ misc/build/cairo-1.10.2/src/cairo-output-stream.c 2010-07-12 10:57:03.000000000 +0200
@@ -313,7 +313,11 @@
@@ -217,34 +203,6 @@
decimal_point_len = strlen (decimal_point);
assert (decimal_point_len != 0);
---- misc/cairo-1.10.2/src/cairo-pdf-surface.c 2010-12-25 15:21:34.000000000 +0100
-+++ misc/build/cairo-1.10.2/src/cairo-pdf-surface.c 2010-12-25 15:21:34.000000000 +0100
-@@ -57,7 +57,11 @@
- #include "cairo-type3-glyph-surface-private.h"
-
- #include <time.h>
-+#ifdef ZLIB_FIX
-+#include <zlib/zlib.h>
-+#else
- #include <zlib.h>
-+#endif
-
- /* Issues:
- *
---- misc/cairo-1.10.2/src/cairo-ps-surface.c 2010-12-25 15:21:34.000000000 +0100
-+++ misc/build/cairo-1.10.2/src/cairo-ps-surface.c 2010-12-25 15:21:34.000000000 +0100
-@@ -72,7 +72,11 @@
- #include <stdio.h>
- #include <ctype.h>
- #include <time.h>
-+#ifdef ZLIB_FIX
-+#include <zlib/zlib.h>
-+#else
- #include <zlib.h>
-+#endif
- #include <errno.h>
-
- #define DEBUG_PS 0
--- misc/cairo-1.10.2/src/cairo-ft-font.c 2010-12-25 15:21:34.000000000 +0100
+++ misc/build/cairo-1.10.2/src/cairo-ft-font.c 2010-12-25 15:21:34.000000000 +0100
@@ -534,16 +534,16 @@
diff --git a/cairo/cairo/makefile.mk b/cairo/cairo/makefile.mk
index 16a89bfad9a4..51854dcb8805 100644
--- a/cairo/cairo/makefile.mk
+++ b/cairo/cairo/makefile.mk
@@ -70,12 +70,7 @@ cairo_LDFLAGS=-L$(SOLARVER)$/$(INPATH)$/lib
cairo_CPPFLAGS=
-.IF "$(SYSTEM_ZLIB)"!="YES"
-cairo_CPPFLAGS+=-I$(SOLARINCDIR)$/external$/zlib
-cairo_COMPRESS=z_compress
-.ELSE
cairo_COMPRESS=compress
-.ENDIF
cairo_CPPFLAGS+=$(INCLUDE)
.IF "$(OS)"=="WNT"
diff --git a/clucene/CustomTarget_source.mk b/clucene/CustomTarget_source.mk
index 474d1b838a8e..a93b59560ec8 100644
--- a/clucene/CustomTarget_source.mk
+++ b/clucene/CustomTarget_source.mk
@@ -61,7 +61,6 @@ $(CLSO)/done : $(cl_FIXED_TARFILE_LOCATION) \
$(call gb_Helper_abbreviate_dirs, \
mkdir -p $(dir $@) && cd $(dir $@) && \
$(GNUTAR) -x -z $(STRIP_COMPONENTS)=1 -f $< && \
- $(GNUPATCH) -p0 < $(SRCDIR)/clucene/patches/clucene-internal-zlib.patch && \
$(GNUPATCH) -p0 < $(SRCDIR)/clucene/patches/clucene-warnings.patch && \
$(GNUPATCH) -p0 < $(SRCDIR)/clucene/patches/clucene-gcc-atomics.patch && \
$(GNUPATCH) -p0 < $(SRCDIR)/clucene/patches/clucene-debug.patch && \
diff --git a/clucene/patches/clucene-internal-zlib.patch b/clucene/patches/clucene-internal-zlib.patch
deleted file mode 100644
index 666792634456..000000000000
--- a/clucene/patches/clucene-internal-zlib.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/shared/CLucene/util/Misc.cpp 2012-02-17 15:33:09.217891100 +0000
-+++ src/shared/CLucene/util/Misc.cpp 2012-02-17 15:38:10.836597500 +0000
-@@ -34,7 +34,11 @@
- #include "CLucene/util/dirent.h" //if we have dirent, then the native one will be used
-
- //for zlib...
--#include "zlib.h"
-+#ifdef SYSTEM_ZLIB
-+#include <zlib.h>
-+#else
-+#include <external/zlib/zlib.h>
-+#endif
- #if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__)
- # include <fcntl.h>
- # include <io.h>
diff --git a/filter/source/flash/swfwriter1.cxx b/filter/source/flash/swfwriter1.cxx
index 3f20b6cab766..0151fa1083c4 100644
--- a/filter/source/flash/swfwriter1.cxx
+++ b/filter/source/flash/swfwriter1.cxx
@@ -41,13 +41,7 @@
#include <vcl/graphictools.hxx>
#include <vcl/rendergraphicrasterizer.hxx>
-#ifndef _ZLIB_H
-#ifdef SYSTEM_ZLIB
#include <zlib.h>
-#else
-#include <external/zlib/zlib.h>
-#endif
-#endif
#include <vcl/salbtype.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
diff --git a/gdk-pixbuf/gdk-pixbuf-2.23.0-win32.patch b/gdk-pixbuf/gdk-pixbuf-2.23.0-win32.patch
index 142ea346f2d0..37a3d0884c5e 100644
--- a/gdk-pixbuf/gdk-pixbuf-2.23.0-win32.patch
+++ b/gdk-pixbuf/gdk-pixbuf-2.23.0-win32.patch
@@ -208,7 +208,7 @@
+GLIB_LIB = $(OUTDIR)\lib\glib-2.0.lib $(OUTDIR)\lib\gobject-2.0.lib $(OUTDIR)\lib\gmodule-2.0.lib $(OUTDIR)\lib\gio-2.0.lib $(OUTDIR)\lib\gthread-2.0.lib
+LIBJPEG_LIB = $(OUTDIR)\lib\jpeg.lib
+LIBPNG_LIB = $(OUTDIR)\lib\libpng.lib
-+ZLIB_LIB = $(OUTDIR)\lib\zlib.lib
++ZLIB_LIB = $(OUTDIR)\lib\z.lib
+GDIPLUS_LIB = gdiplus.lib
-!INCLUDE $(TOP)/glib/build/win32/make.msc
diff --git a/glib/glib-2.28.1-win32.patch b/glib/glib-2.28.1-win32.patch
index 3089f938b17c..f45b46f1c24d 100644
--- a/glib/glib-2.28.1-win32.patch
+++ b/glib/glib-2.28.1-win32.patch
@@ -73,26 +73,17 @@
!IFDEF ZLIB
ZLIB_CFLAGS = -I $(ZLIB)
-ZLIB_LIBS = $(ZLIB)\projects\visualc6\Win32_LIB_Release\zlib.lib
-+ZLIB_LIBS = $(OUTDIR)\lib\zlib.lib
++ZLIB_LIBS = $(OUTDIR)\lib\z.lib
!ELSE
-ZLIB_CFLAGS = -I $(DEVTOP)\include
-ZLIB_LIBS = $(DEVTOP)\lib\zdll.lib
-+ZLIB_CFLAGS = -I $(OUTDIR)\inc\external\zlib
-+ZLIB_LIBS = $(OUTDIR)\lib\zlib.lib
++ZLIB_CFLAGS = -I $(OUTDIR)\inc\external
++ZLIB_LIBS = $(OUTDIR)\lib\z.lib
!ENDIF
################
--- misc/glib-2.28.1/gio/gzlibcompressor.c 2011-02-11 16:23:12.000000000 +0100
+++ misc/build/glib-2.28.1/gio/gzlibcompressor.c 2011-03-07 10:33:19.559189800 +0100
-@@ -25,7 +25,7 @@
- #include "gzlibcompressor.h"
-
- #include <errno.h>
--#include <zlib.h>
-+#include <zlib/zlib.h>
- #include <string.h>
-
- #include "gfileinfo.h"
@@ -64,8 +64,10 @@
GZlibCompressorFormat format;
@@ -115,15 +106,6 @@
if (compressor->format != G_ZLIB_COMPRESSOR_FORMAT_GZIP ||
--- misc/glib-2.28.1/gio/gzlibdecompressor.c 2011-03-07 09:13:41.324890400 +0100
+++ misc/build/glib-2.28.1/gio/gzlibdecompressor.c 2011-03-04 11:28:39.712480200 +0100
-@@ -25,7 +25,7 @@
- #include "gzlibdecompressor.h"
-
- #include <errno.h>
--#include <zlib.h>
-+#include <zlib/zlib.h>
- #include <string.h>
-
- #include "gfileinfo.h"
@@ -76,7 +76,7 @@
g_zlib_decompressor_set_gzheader (GZlibDecompressor *decompressor)
{
diff --git a/hwpfilter/source/hgzip.h b/hwpfilter/source/hgzip.h
index c8b2cbe19251..600d8f1ebe8c 100644
--- a/hwpfilter/source/hgzip.h
+++ b/hwpfilter/source/hgzip.h
@@ -29,12 +29,7 @@
#ifndef _HWPGZIP_H_
#define _HWPGZIP_H_
-// DVO: add zlib/ prefix
-#ifdef SYSTEM_ZLIB
#include <zlib.h>
-#else
-#include "zlib/zlib.h"
-#endif
class HStream;
/**
diff --git a/hwpfilter/source/hiodev.cxx b/hwpfilter/source/hiodev.cxx
index 20b368a770cb..e8b45d65fa38 100644
--- a/hwpfilter/source/hiodev.cxx
+++ b/hwpfilter/source/hiodev.cxx
@@ -28,12 +28,7 @@
#include <stdio.h>
#include <errno.h>
-// DVO: add zlib/ prefix
-#ifdef SYSTEM_ZLIB
#include <zlib.h>
-#else
-#include <zlib/zlib.h>
-#endif
#ifdef WIN32
# include <io.h>
#else
diff --git a/libgsf/libgsf-1.14.19.windows.patch b/libgsf/libgsf-1.14.19.windows.patch
index 56c10c5d8c05..98e0a8fd1a08 100644
--- a/libgsf/libgsf-1.14.19.windows.patch
+++ b/libgsf/libgsf-1.14.19.windows.patch
@@ -55,7 +55,7 @@
+
+.INCLUDE : settings.mk
+
-+CFLAGS+= -I.. -I$(SOLARINCDIR)$/external$/glib-2.0 -I$(SOLARINCDIR)$/external$/zlib -I$(SOLARINCDIR)$/external
++CFLAGS+= -I.. -I$(SOLARINCDIR)$/external$/glib-2.0 -I$(SOLARINCDIR)$/external
+
+# --- Files -------------------------------------
+
@@ -115,7 +115,7 @@
+ gobject-2.0.lib \
+ glib-2.0.lib \
+ intl.lib \
-+ zlib.lib \
++ z.lib \
+ Advapi32.lib
+
+
diff --git a/libpng/libpng-1.5.1.patch b/libpng/libpng-1.5.1.patch
index ebae94ac000a..58f7011edb57 100644
--- a/libpng/libpng-1.5.1.patch
+++ b/libpng/libpng-1.5.1.patch
@@ -231,51 +231,3 @@
+#define PNG_iTXt_SUPPORTED
+/* end of options */
+#endif /* PNGLCONF_H */
---- misc/libpng-1.5.1/pngstruct.h 2011-02-03 05:58:17.000000000 +0100
-+++ misc/build/libpng-1.5.1/pngstruct.h 2011-03-24 21:47:23.380397048 +0100
-@@ -24,7 +24,15 @@
- * in this structure and is required for decompressing the LZ compressed
- * data in PNG files.
- */
-+/* WTF, surely this should depend explicitly on whether using the system or
-+ * internal zlib, not on OS... But yeah, so maybe MacOSX, iOS and Android are the only OSes for which
-+ * we use a system zlib but internal libpng, at least by default.
-+ */
-+#if defined MACOSX || defined IOS || defined ANDROID
- #include "zlib.h"
-+#else
-+#include <external/zlib/zlib.h>
-+#endif
-
- struct png_struct_def
- {
---- misc/libpng-1.5.1/pngtest.c 2011-02-03 05:58:17.000000000 +0100
-+++ misc/build/libpng-1.5.1/pngtest.c 2011-03-24 21:47:23.380397048 +0100
-@@ -31,7 +31,12 @@
- * of files at once by typing "pngtest -m file1.png file2.png ..."
- */
-
-+#if defined MACOSX || defined IOS || defined ANDROID
- #include "zlib.h"
-+#else
-+#include <external/zlib/zlib.h>
-+#endif
-+
- #include "png.h"
- /* Copied from pngpriv.h but only used in error messages below. */
- #ifndef PNG_ZBUF_SIZE
---- misc/libpng-1.5.1/pngvalid.c 2011-02-03 05:58:17.000000000 +0100
-+++ misc/build/libpng-1.5.1/pngvalid.c 2011-03-24 21:47:23.381397048 +0100
-@@ -51,7 +51,11 @@
- #define PNG_READ_16BIT_SUPPORTED
- #endif
-
--#include "zlib.h" /* For crc32 */
-+#if defined MACOSX || defined IOS || defined ANDROID
-+#include "zlib.h"
-+#else
-+#include <external/zlib/zlib.h>
-+#endif
-
- #include <float.h> /* For floating point constants */
- #include <stdlib.h> /* For malloc */
diff --git a/moz/makefile.mk b/moz/makefile.mk
index 13db91fc0517..6b3155692bff 100644
--- a/moz/makefile.mk
+++ b/moz/makefile.mk
@@ -220,16 +220,14 @@ MOZDIR=$(MISC)$/build$/seamonkey
MOZTARGET=$(OS)$(COM)$(CPU)
.IF "$(GUI)"=="WNT"
+#for moz to link to our static lz if necessary
+SYSTEM_ZLIB:="YES"
# "Our" build environment uses "NO" for the environment variable that
# indicate if system libraries should be used, the mozilla build uses
# "" in this case. This conflicts (at least for W32) with mozilla (1.7b)
# because it disables the library checks for msvc so that
# --without-system-* is not evaluated. To build the included libraries
# the affected variables have to be empty and not NO.
-.IF "$(SYSTEM_ZLIB)"=="NO"
-SYSTEM_ZLIB:=
-.EXPORT : SYSTEM_ZLIB
-.ENDIF
.IF "$(SYSTEM_JPEG)"=="NO"
SYSTEM_JPEG:=
.EXPORT : SYSTEM_JPEG
diff --git a/neon/neon.patch b/neon/neon.patch
index b7a3f8514335..cbb2db110856 100644
--- a/neon/neon.patch
+++ b/neon/neon.patch
@@ -492,7 +492,7 @@
+#endif
--- misc/neon-0.29.5/src/makefile.mk 2011-02-03 10:32:38.000000000 +0100
+++ misc/build/neon-0.29.5/src/makefile.mk 2011-02-03 10:26:19.000000000 +0100
-@@ -1,1 +1,96 @@
+@@ -1,1 +1,89 @@
-dummy
+PRJ=..$/..$/..$/..$/..
+
@@ -523,13 +523,6 @@
+CFLAGS+= $(OPENSSL_CFLAGS)
+.ENDIF
+
-+.IF "$(SYSTEM_ZLIB)" == "YES"
-+CFLAGS+=-DSYSTEM_ZLIB
-+.ELSE
-+ZLIBINCDIR=external$/zlib
-+CFLAGS+=-I$(SOLARINCDIR)$/$(ZLIBINCDIR)
-+.ENDIF
-+
+SLOFILES= \
+ $(SLO)$/ne_207.obj \
+ $(SLO)$/ne_acl3744.obj \
diff --git a/nss/nss.patch b/nss/nss.patch
index 6930e6753ac9..3764cc46044f 100644
--- a/nss/nss.patch
+++ b/nss/nss.patch
@@ -67,20 +67,6 @@
LDFLAGS += $(ARCHFLAG)
# INCLUDES += -I/usr/include -Y/usr/include/linux
-@@ -158,8 +161,13 @@
- #
- CPU_TAG = _$(CPU_ARCH)
-
-+ifeq ($(SYSTEM_ZLIB),YES)
-+# Currently (3.12.4) only the tools modutil and signtool are linked with libz
-+# If USE_SYSTEM_ZLIB is not set then the tools link statically libzlib.a which
-+# is also build in nss.
- USE_SYSTEM_ZLIB = 1
- ZLIB_LIBS = -lz
-+endif
-
- # The -rpath '$$ORIGIN' linker option instructs this library to search for its
- # dependencies in the same directory where it resides.
--- misc/nss-3.12.8/mozilla/security/coreconf/SunOS5.mk 2009-06-11 02:55:32.000000000 +0200
+++ misc/build/nss-3.12.8/mozilla/security/coreconf/SunOS5.mk 2010-06-11 16:35:54.985571182 +0200
@@ -89,8 +89,12 @@
diff --git a/nss/prj/build.lst b/nss/prj/build.lst
index 14963fff7c8d..23cea65d27d9 100644
--- a/nss/prj/build.lst
+++ b/nss/prj/build.lst
@@ -1,3 +1,3 @@
-ns nss : solenv NULL
+ns nss : solenv ZLIB:zlib NULL
ns nss nmake - usr1 ns_mkout NULL
ns nss nmake - all ns_nss NULL
diff --git a/package/Library_package2.mk b/package/Library_package2.mk
index 223e280d2830..fcb7b6225932 100644
--- a/package/Library_package2.mk
+++ b/package/Library_package2.mk
@@ -88,10 +88,4 @@ $(eval $(call gb_Library_add_exception_objects,package2,\
package/source/zippackage/ZipPackageStream \
))
-ifeq ($(SYSTEM_ZLIB),YES)
-$(eval $(call gb_Library_add_defs,package2,\
- -DSYSTEM_ZLIB \
-))
-endif
-
# vim: set noet sw=4 ts=4:
diff --git a/package/source/zipapi/Deflater.cxx b/package/source/zipapi/Deflater.cxx
index 75d9d39e0436..3333c0d8794b 100644
--- a/package/source/zipapi/Deflater.cxx
+++ b/package/source/zipapi/Deflater.cxx
@@ -27,11 +27,7 @@
************************************************************************/
#include <package/Deflater.hxx>
-#ifdef SYSTEM_ZLIB
#include <zlib.h>
-#else
-#include <external/zlib/zlib.h>
-#endif
#include <com/sun/star/packages/zip/ZipConstants.hpp>
#include <string.h> // for memset
diff --git a/package/source/zipapi/Inflater.cxx b/package/source/zipapi/Inflater.cxx
index 2149e59e5ddf..b83eea021e63 100644
--- a/package/source/zipapi/Inflater.cxx
+++ b/package/source/zipapi/Inflater.cxx
@@ -27,11 +27,7 @@
************************************************************************/
#include <package/Inflater.hxx>
-#ifdef SYSTEM_ZLIB
#include <zlib.h>
-#else
-#include <external/zlib/zlib.h>
-#endif
#include <string.h> // for memset
using namespace com::sun::star::uno;
diff --git a/sdext/source/pdfimport/pdfparse/pdfentries.cxx b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
index 9c36cf803128..14ff3b992d48 100644
--- a/sdext/source/pdfimport/pdfparse/pdfentries.cxx
+++ b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
@@ -36,11 +36,7 @@
#include <rtl/digest.h>
#include <rtl/cipher.h>
#include <rtl/memory.h>
-#ifdef SYSTEM_ZLIB
#include "zlib.h"
-#else
-#include <zlib/zlib.h>
-#endif
#include <math.h>
#include <map>
diff --git a/sdext/source/pdfimport/test/tests.cxx b/sdext/source/pdfimport/test/tests.cxx
index ab4e5fcc811b..f77c82ef73e0 100644
--- a/sdext/source/pdfimport/test/tests.cxx
+++ b/sdext/source/pdfimport/test/tests.cxx
@@ -32,11 +32,7 @@
#define BASEGFX_STATICLIBRARY
-#ifdef SYSTEM_ZLIB
#include "zlib.h"
-#else
-#include <zlib/zlib.h>
-#endif
#include "outputwrap.hxx"
#include "contentsink.hxx"
diff --git a/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx b/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx
index 71b0c8989228..aee3a7081ba8 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx
@@ -32,12 +32,7 @@
#include "pnghelper.hxx"
#include <sal/macros.h>
-#ifdef SYSTEM_ZLIB
#include "zlib.h"
-#else
-#define ZLIB_INTERNAL 1
-#include <zlib/zlib.h>
-#endif
using namespace pdfi;
diff --git a/shell/inc/internal/zipfile.hxx b/shell/inc/internal/zipfile.hxx
index 24fba6542fcf..7b119412e2a8 100644
--- a/shell/inc/internal/zipfile.hxx
+++ b/shell/inc/internal/zipfile.hxx
@@ -33,11 +33,7 @@
#define _WINDOWS
#endif
-#ifdef SYSTEM_ZLIB
#include <zlib.h>
-#else
-#include <external/zlib/zlib.h>
-#endif
#include <string>
#include <vector>
diff --git a/shell/source/win32/ooofilereader/makefile.mk b/shell/source/win32/ooofilereader/makefile.mk
index b26e10a16795..6b9d1efe3664 100644
--- a/shell/source/win32/ooofilereader/makefile.mk
+++ b/shell/source/win32/ooofilereader/makefile.mk
@@ -47,10 +47,6 @@ CFLAGS_X64+=-wd4710 -wd4711 -wd4514 -wd4619 -wd4217 -wd4820
.ENDIF
CDEFS_X64+=-U_WIN32_IE -D_WIN32_IE=0x501 -U_WIN32_WINNT -D_WIN32_WINNT=0x0501
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CDEFS += -DSYSTEM_ZLIB
-.END
-
# --- Files --------------------------------------------------------
diff --git a/shell/source/win32/shlxthandler/columninfo/makefile.mk b/shell/source/win32/shlxthandler/columninfo/makefile.mk
index 7157f8f6ae2b..31c019f31f76 100644
--- a/shell/source/win32/shlxthandler/columninfo/makefile.mk
+++ b/shell/source/win32/shlxthandler/columninfo/makefile.mk
@@ -42,10 +42,6 @@ CFLAGS+=-wd4710 -wd4711 -wd4514 -wd4619 -wd4217 -wd4820
.ENDIF
CDEFS+=-U_WIN32_IE -D_WIN32_IE=0x501 -U_WIN32_WINNT -D_WIN32_WINNT=0x0501
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CDEFS += -DSYSTEM_ZLIB
-.END
-
# --- Files --------------------------------------------------------
SLOFILES=$(SLO)$/columninfo.obj
diff --git a/shell/source/win32/shlxthandler/infotips/makefile.mk b/shell/source/win32/shlxthandler/infotips/makefile.mk
index 38126a54c697..e7caf3afd244 100644
--- a/shell/source/win32/shlxthandler/infotips/makefile.mk
+++ b/shell/source/win32/shlxthandler/infotips/makefile.mk
@@ -42,10 +42,6 @@ CFLAGS+=-wd4710 -wd4711 -wd4514 -wd4619 -wd4217 -wd4820
.ENDIF
CDEFS+=-U_WIN32_IE -D_WIN32_IE=0x501 -U_WIN32_WINNT -D_WIN32_WINNT=0x0501
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CDEFS += -DSYSTEM_ZLIB
-.END
-
# --- Files --------------------------------------------------------
SLOFILES=$(SLO)$/$(TARGET).obj
diff --git a/shell/source/win32/shlxthandler/makefile.mk b/shell/source/win32/shlxthandler/makefile.mk
index 81c3515b20b7..b15f0ee0409b 100644
--- a/shell/source/win32/shlxthandler/makefile.mk
+++ b/shell/source/win32/shlxthandler/makefile.mk
@@ -59,10 +59,6 @@ CDEFS+=-DDONT_HAVE_GDIPLUS
CDEFS+=-U_WIN32_IE -D_WIN32_IE=0x501 -U_WIN32_WINNT -D_WIN32_WINNT=0x0501
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CDEFS += -DSYSTEM_ZLIB
-.END
-
# --- Files --------------------------------------------------------
SLOFILES=$(SLO)$/classfactory.obj\
@@ -82,7 +78,7 @@ SHL1STDLIBS=$(ZLIB3RDLIB) $(MINIZIP3RDLIB) $(EXPAT3RDLIB) $(COMCTL32LIB)
SHL1LIBS=
.ELSE
SHL1STDLIBS=
-SHL1LIBS=$(SOLARLIBDIR)$/zlib.lib\
+SHL1LIBS=$(SOLARLIBDIR)$/$(ZLIB3RDLIB)\
$(SOLARLIBDIR)$/expat_xmlparse.lib\
$(SOLARLIBDIR)$/expat_xmltok.lib
.ENDIF
@@ -132,7 +128,7 @@ SLOFILES_X64= \
$(SLO_X64)$/stream_helper.obj\
SHL1TARGET_X64=$(TARGET)
-SHL1LIBS_X64=$(SOLARLIBDIR_X64)$/zlib.lib\
+SHL1LIBS_X64=$(SOLARLIBDIR_X64)$/$(ZLIB3RDLIB)\
$(SOLARLIBDIR_X64)$/expat_xmlparse.lib\
$(SOLARLIBDIR_X64)$/expat_xmltok.lib
diff --git a/shell/source/win32/shlxthandler/ooofilt/makefile.mk b/shell/source/win32/shlxthandler/ooofilt/makefile.mk
index afb2988bb12c..2ccf2ca891b7 100644
--- a/shell/source/win32/shlxthandler/ooofilt/makefile.mk
+++ b/shell/source/win32/shlxthandler/ooofilt/makefile.mk
@@ -46,10 +46,6 @@ CFLAGS+=-wd4710 -wd4711 -wd4514 -wd4619 -wd4217 -wd4820
.ENDIF
CDEFS+=-U_WIN32_IE -D_WIN32_IE=0x501 -U_WIN32_WINNT -D_WIN32_WINNT=0x0501
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CDEFS += -DSYSTEM_ZLIB
-.END
-
# --- Files --------------------------------------------------------
SLOFILES=$(SLO)$/ooofilt.obj\
@@ -62,7 +58,7 @@ SHL1STDLIBS=$(ZLIB3RDLIB) $(MINIZIP3RDLIB) $(EXPAT3RDLIB)
SHL1LIBS=
.ELSE
SHL1STDLIBS=
-SHL1LIBS=$(SOLARLIBDIR)$/zlib.lib\
+SHL1LIBS=$(SOLARLIBDIR)$/$(ZLIB3RDLIB)\
$(SOLARLIBDIR)$/expat_xmlparse.lib\
$(SOLARLIBDIR)$/expat_xmltok.lib
.ENDIF
@@ -108,7 +104,7 @@ SLOFILES_X64=$(SLO_X64)$/ooofilt.obj\
SHL1TARGET_X64=$(TARGET)
-SHL1LIBS_X64=$(SOLARLIBDIR_X64)$/zlib.lib\
+SHL1LIBS_X64=$(SOLARLIBDIR_X64)$/$(ZLIB3RDLIB)\
$(SOLARLIBDIR_X64)$/expat_xmlparse.lib\
$(SOLARLIBDIR_X64)$/expat_xmltok.lib
diff --git a/shell/source/win32/shlxthandler/prophdl/makefile.mk b/shell/source/win32/shlxthandler/prophdl/makefile.mk
index 8a6813a616fb..56355e13e8b4 100644
--- a/shell/source/win32/shlxthandler/prophdl/makefile.mk
+++ b/shell/source/win32/shlxthandler/prophdl/makefile.mk
@@ -67,7 +67,7 @@ SHL1STDLIBS=$(ZLIB3RDLIB) $(MINIZIP3RDLIB) $(EXPAT3RDLIB) $(COMCTL32LIB)
SHL1LIBS=
.ELSE
SHL1STDLIBS=
-SHL1LIBS=$(SOLARLIBDIR)$/zlib.lib\
+SHL1LIBS=$(SOLARLIBDIR)$/$(ZLIB3RDLIB)\
$(SOLARLIBDIR)$/expat_xmlparse.lib\
$(SOLARLIBDIR)$/expat_xmltok.lib
.ENDIF
@@ -115,7 +115,7 @@ SLOFILES_X64= \
$(SLO_X64)$/stream_helper.obj\
SHL1TARGET_X64=$(TARGET)
-SHL1LIBS_X64=$(SOLARLIBDIR_X64)$/zlib.lib\
+SHL1LIBS_X64=$(SOLARLIBDIR_X64)$/$(ZLIB3RDLIB)\
$(SOLARLIBDIR_X64)$/expat_xmlparse.lib\
$(SOLARLIBDIR_X64)$/expat_xmltok.lib
diff --git a/shell/source/win32/shlxthandler/propsheets/makefile.mk b/shell/source/win32/shlxthandler/propsheets/makefile.mk
index 08adff7bfe3b..68c65b289a69 100644
--- a/shell/source/win32/shlxthandler/propsheets/makefile.mk
+++ b/shell/source/win32/shlxthandler/propsheets/makefile.mk
@@ -44,10 +44,6 @@ CFLAGS_X64+=-wd4710 -wd4711 -wd4514 -wd4619 -wd4217 -wd4820
CDEFS_X64+=-U_WIN32_WINNT -D_WIN32_WINNT=0x0501 -U_WIN32_IE -D_WIN32_IE=0x501
.ENDIF
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CDEFS += -DSYSTEM_ZLIB
-.END
-
# --- Files --------------------------------------------------------
SLOFILES=$(SLO)$/propsheets.obj\
diff --git a/shell/source/win32/shlxthandler/util/makefile.mk b/shell/source/win32/shlxthandler/util/makefile.mk
index e2b7a8294319..f2edb7f3719e 100644
--- a/shell/source/win32/shlxthandler/util/makefile.mk
+++ b/shell/source/win32/shlxthandler/util/makefile.mk
@@ -47,10 +47,6 @@ CFLAGS_X64+=-wd4710 -wd4711 -wd4514 -wd4619 -wd4217 -wd4820
.ENDIF
CDEFS_X64+=-U_WIN32_IE -D_WIN32_IE=0x501 -U_WIN32_WINNT -D_WIN32_WINNT=0x0501
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CDEFS += -DSYSTEM_ZLIB
-.END
-
# --- Files --------------------------------------------------------
SLOFILES=$(SLO)$/fileextensions.obj\
diff --git a/shell/source/win32/zipfile/makefile.mk b/shell/source/win32/zipfile/makefile.mk
index 0e165dd01faa..5d2d1622bc9f 100644
--- a/shell/source/win32/zipfile/makefile.mk
+++ b/shell/source/win32/zipfile/makefile.mk
@@ -35,10 +35,6 @@ EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
.INCLUDE : settings.mk
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CDEFS += -DSYSTEM_ZLIB
-.END
-
# --- Files --------------------------------------------------------
diff --git a/solenv/inc/libs.mk b/solenv/inc/libs.mk
index 3adeb01d3a0e..4b536fd990da 100644
--- a/solenv/inc/libs.mk
+++ b/solenv/inc/libs.mk
@@ -193,11 +193,7 @@ EXPATASCII3RDLIB=-lexpat
EXPAT3RDLIB=-lexpat_xmlparse -lexpat_xmltok
EXPATASCII3RDLIB=-lascii_expat_xmlparse -lexpat_xmltok
.ENDIF
-.IF "$(SYSTEM_ZLIB)"=="YES"
ZLIB3RDLIB=-lz
-.ELSE
-ZLIB3RDLIB=-lzlib
-.ENDIF
.IF "$(SYSTEM_MINIZIP)"=="YES"
MINIZIP3RDLIB=$(MINIZIP_LIBS)
.ELSE
@@ -467,7 +463,7 @@ LNGLIB=ilng.lib
CLUCENELIB=iclucene.lib
EXPAT3RDLIB=expat_xmltok.lib expat_xmlparse.lib
EXPATASCII3RDLIB=expat_xmltok.lib ascii_expat_xmlparse.lib
-ZLIB3RDLIB=zlib.lib
+ZLIB3RDLIB=z.lib
JPEG3RDLIB=jpeglib.lib
NEON3RDLIB=ineon.lib
BERKELEYLIB=libdb47.lib
diff --git a/tools/source/zcodec/zcodec.cxx b/tools/source/zcodec/zcodec.cxx
index 46d3f24b5310..45429dc8d698 100644
--- a/tools/source/zcodec/zcodec.cxx
+++ b/tools/source/zcodec/zcodec.cxx
@@ -27,13 +27,7 @@
************************************************************************/
#include <tools/stream.hxx>
-#ifndef _ZLIB_H
-#ifdef SYSTEM_ZLIB
#include "zlib.h"
-#else
-#include "zlib/zlib.h"
-#endif
-#endif
#include <tools/zcodec.hxx>
#include <rtl/crc.h>
#include <osl/endian.h>
diff --git a/zlib/CustomTarget_source.mk b/zlib/CustomTarget_source.mk
new file mode 100644
index 000000000000..e051ab0bdbff
--- /dev/null
+++ b/zlib/CustomTarget_source.mk
@@ -0,0 +1,53 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., Caolán McNamara <caolanm@redhat.com>
+# (initial developer)
+# Copyright (C) 2012 Red Hat, Inc., David Tardon <dtardon@redhat.com>
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_CustomTarget_CustomTarget,zlib/source))
+
+ZLSO := $(call gb_CustomTarget_get_workdir,zlib/source)
+
+$(call gb_CustomTarget_get_target,zlib/source) : $(ZLSO)/done
+
+# FIXME: do not hardcode the path here
+ifeq ($(OS_FOR_BUILD),WNT)
+zl_FIXED_TARFILE_LOCATION := $(shell cygpath -u $(TARFILE_LOCATION))/c735eab2d659a96e5a594c9e8541ad63-zlib-1.2.5.tar.gz
+else
+zl_FIXED_TARFILE_LOCATION := $(TARFILE_LOCATION)/c735eab2d659a96e5a594c9e8541ad63-zlib-1.2.5.tar.gz
+endif
+
+$(ZLSO)/done : $(zl_FIXED_TARFILE_LOCATION)
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),TAR,1)
+ $(call gb_Helper_abbreviate_dirs, \
+ mkdir -p $(dir $@) && cd $(dir $@) && \
+ $(GNUTAR) -x -z $(STRIP_COMPONENTS)=1 -f $< && \
+ $(GNUPATCH) -p1 < $(SRCDIR)/zlib/patches/zlib-1.2.5-gentoo.patch && \
+ $(GNUPATCH) -p1 < $(SRCDIR)/zlib/patches/minizip-null.patch && \
+ $(GNUPATCH) -p1 < $(SRCDIR)/zlib/patches/zlib-1.2.5-minizip-fixuncrypt.patch && \
+ $(GNUPATCH) -p1 < $(SRCDIR)/zlib/patches/zlib-1.2.5-zip64.patch )
+ touch $@
+
+# vim: set noet sw=4 ts=4:
diff --git a/zlib/Makefile b/zlib/Makefile
new file mode 100644
index 000000000000..5f46a974f7fe
--- /dev/null
+++ b/zlib/Makefile
@@ -0,0 +1,11 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+
+EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
+export EXTERNAL_WARNINGS_NOT_ERRORS
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/zlib/Module_zlib.mk b/zlib/Module_zlib.mk
new file mode 100644
index 000000000000..42c1e5d22f5a
--- /dev/null
+++ b/zlib/Module_zlib.mk
@@ -0,0 +1,36 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., Caolán McNamara <caolanm@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Module_Module,zlib))
+
+$(eval $(call gb_Module_add_targets,zlib,\
+ CustomTarget_source \
+ StaticLibrary_zlib \
+ Package_source \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/zlib/Package_source.mk b/zlib/Package_source.mk
new file mode 100644
index 000000000000..3479f0836bc3
--- /dev/null
+++ b/zlib/Package_source.mk
@@ -0,0 +1,38 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., Caolán McNamara <caolanm@redhat.com>
+# (initial developer)
+# Copyright (C) 2012 Red Hat, Inc., David Tardon <dtardon@redhat.com>
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Package_Package,zlib_source,$(call gb_CustomTarget_get_workdir,zlib/source)))
+
+$(call gb_Package_get_preparation_target,zlib_source) : $(call gb_CustomTarget_get_target,zlib/source)
+
+$(eval $(call gb_Package_add_file,zlib_source,inc/external/zconf.h,zconf.h))
+$(eval $(call gb_Package_add_file,zlib_source,inc/external/zlib.h,zlib.h))
+$(eval $(call gb_Package_add_file,zlib_source,inc/external/minizip/unzip.h,contrib/minizip/unzip.h))
+$(eval $(call gb_Package_add_file,zlib_source,inc/external/minizip/ioapi.h,contrib/minizip/ioapi.h))
+
+# vim: set noet sw=4 ts=4:
diff --git a/zlib/StaticLibrary_zlib.mk b/zlib/StaticLibrary_zlib.mk
new file mode 100644
index 000000000000..bb862d6f821a
--- /dev/null
+++ b/zlib/StaticLibrary_zlib.mk
@@ -0,0 +1,70 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., Caolán McNamara <caolanm@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_StaticLibrary_StaticLibrary,z))
+
+$(eval $(call gb_StaticLibrary_use_package,z,zlib_source))
+
+$(eval $(call gb_StaticLibrary_set_warnings_not_errors,zlib))
+
+$(eval $(call gb_StaticLibrary_set_include,z,\
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_StaticLibrary_add_defs,z,\
+ $(LFS_CFLAGS) \
+))
+
+# zlib does not depend on sal nor needs uwinapi here
+$(eval $(call gb_StaticLibrary_use_libraries,z,\
+ $(filter-out uwinapi,$(gb_STDLIBS)) \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_StaticLibrary_use_libraries,z,\
+ m \
+ pthread \
+))
+endif
+
+$(eval $(call gb_StaticLibrary_add_generated_cobjects,z,\
+ CustomTarget/zlib/source/adler32 \
+ CustomTarget/zlib/source/compress \
+ CustomTarget/zlib/source/deflate \
+ CustomTarget/zlib/source/crc32 \
+ CustomTarget/zlib/source/inffast \
+ CustomTarget/zlib/source/inflate \
+ CustomTarget/zlib/source/inftrees \
+ CustomTarget/zlib/source/trees \
+ CustomTarget/zlib/source/zutil \
+ ,$(if $(filter TRUE,$(EXTERNAL_WARNINGS_NOT_ERRORS)),\
+ $(filter-out $(gb_CFLAGS_WERROR),$(CFLAGS)),\
+ $(CFLAGS)) \
+ $(gb_COMPILEROPTFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/zlib/make_patched_header.pl b/zlib/make_patched_header.pl
deleted file mode 100755
index 41dbdc5fbb96..000000000000
--- a/zlib/make_patched_header.pl
+++ /dev/null
@@ -1,66 +0,0 @@
-:
-eval 'exec perl -S $0 ${1+"$@"}'
- if 0;
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-#
-# make_patched_header - make patched header
-#
-
-use strict;
-use File::Basename;
-use File::Path;
-use Carp;
-
-my $patched_file = shift @ARGV;
-$patched_file =~ s/\\/\//g;
-my $module = shift @ARGV;
-my $patch_dir = dirname($patched_file);
-my $orig_file = $patched_file;
-$orig_file =~ s/\/patched\//\//;
-
-if (!-f $orig_file) { carp("Cannot find file $orig_file\n"); };
-if (!-d $patch_dir) {
- mkpath($patch_dir, 0, 0775);
- if (!-d $patch_dir) {("mkdir: could not create directory $patch_dir\n"); };
-};
-
-open(PATCHED_FILE, ">$patched_file") or carp("Cannot open file $patched_file\n");
-open(ORIG_FILE, "<$orig_file") or carp("Cannot open file $orig_file\n");
-foreach (<ORIG_FILE>) {
- if (/#include\s*"(\w+\.h\w*)"/) {
- my $include = $1;
- s/#include "$include"/#include <$module\/$include>/g;
- };
- print PATCHED_FILE $_;
-};
-close PATCHED_FILE;
-close ORIG_FILE;
-
-exit(0);
-
-
diff --git a/zlib/makefile.mk b/zlib/makefile.mk
deleted file mode 100644
index 6165ccc8ddbf..000000000000
--- a/zlib/makefile.mk
+++ /dev/null
@@ -1,75 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=.
-
-PRJNAME=zlib
-TARGET=zlib
-
-.IF "$(GUI)" == "UNX"
-.IF "$(SYSTEM_ZLIB)" == "YES"
-all:
- @echo "An already available installation of zlib should exist on your system."
- @echo "Therefore the version provided here does not need to be built in addition."
-.ENDIF
-.ENDIF
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-TARFILE_NAME=zlib-1.2.5
-TARFILE_MD5=c735eab2d659a96e5a594c9e8541ad63
-
-PATCH_FILES=zlib-1.2.5.patch
-ADDITIONAL_FILES=makefile.mk
-
-#relative to CONFIGURE_DIR
-
-BUILD_DIR=$(CONFIGURE_DIR)
-BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
-
-OUT2INC= \
- zlib.h \
- zconf.h \
- contrib$/minizip$/unzip.h \
- contrib$/minizip$/ioapi.h
-
-PATCHED_HEADERS=$(INCCOM)$/patched$/zlib.h
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : set_ext.mk
-.INCLUDE : target.mk
-.INCLUDE : tg_ext.mk
-
-ALLTAR: $(PATCHED_HEADERS)
-
-$(PATCHED_HEADERS) : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
- @$(PERL) make_patched_header.pl $@ $(PRJNAME)
diff --git a/zlib/patches/minizip-null.patch b/zlib/patches/minizip-null.patch
new file mode 100644
index 000000000000..bffe2072c689
--- /dev/null
+++ b/zlib/patches/minizip-null.patch
@@ -0,0 +1,12 @@
+diff -up zlib-1.2.5/contrib/minizip/unzip.c.pom zlib-1.2.5/contrib/minizip/unzip.c
+--- zlib-1.2.5/contrib/minizip/unzip.c.pom 2010-02-15 12:59:40.000000000 +0100
++++ zlib-1.2.5/contrib/minizip/unzip.c 2011-04-06 12:06:04.000000000 +0200
+@@ -1145,7 +1145,7 @@ extern int ZEXPORT unzGetCurrentFileInfo
+ szFileName,fileNameBufferSize,
+ extraField,extraFieldBufferSize,
+ szComment,commentBufferSize);
+- if (err==UNZ_OK)
++ if (pfile_info && err==UNZ_OK)
+ {
+ pfile_info->version = file_info64.version;
+ pfile_info->version_needed = file_info64.version_needed;
diff --git a/zlib/patches/zlib-1.2.5-gentoo.patch b/zlib/patches/zlib-1.2.5-gentoo.patch
new file mode 100644
index 000000000000..82c7f39732dd
--- /dev/null
+++ b/zlib/patches/zlib-1.2.5-gentoo.patch
@@ -0,0 +1,12 @@
+diff -up zlib-1.2.5/zlib.h.pom zlib-1.2.5/zlib.h
+--- zlib-1.2.5/zlib.h.pom 2010-04-20 06:12:48.000000000 +0200
++++ zlib-1.2.5/zlib.h 2010-06-16 13:08:59.000000000 +0200
+@@ -1578,7 +1578,7 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF(
+ # define gzoffset gzoffset64
+ # define adler32_combine adler32_combine64
+ # define crc32_combine crc32_combine64
+-# ifdef _LARGEFILE64_SOURCE
++# ifndef _LARGEFILE64_SOURCE
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+ ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
+ ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
diff --git a/zlib/patches/zlib-1.2.5-minizip-fixuncrypt.patch b/zlib/patches/zlib-1.2.5-minizip-fixuncrypt.patch
new file mode 100644
index 000000000000..d113879f5c37
--- /dev/null
+++ b/zlib/patches/zlib-1.2.5-minizip-fixuncrypt.patch
@@ -0,0 +1,14 @@
+diff -up zlib-1.2.5/contrib/minizip/unzip.c.fixuncrypt zlib-1.2.5/contrib/minizip/unzip.c
+--- zlib-1.2.5/contrib/minizip/unzip.c.fixuncrypt 2011-11-11 12:13:56.335867758 -0500
++++ zlib-1.2.5/contrib/minizip/unzip.c 2011-11-11 12:14:01.747799372 -0500
+@@ -68,10 +68,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-#ifndef NOUNCRYPT
+- #define NOUNCRYPT
+-#endif
+-
+ #include "zlib.h"
+ #include "unzip.h"
+
diff --git a/zlib/patches/zlib-1.2.5-zip64.patch b/zlib/patches/zlib-1.2.5-zip64.patch
new file mode 100644
index 000000000000..2bc94deb2979
--- /dev/null
+++ b/zlib/patches/zlib-1.2.5-zip64.patch
@@ -0,0 +1,59 @@
+diff -ru zlib-1.2.5/contrib/minizip/ioapi.c zlib-1.2.5-patch/contrib/minizip/ioapi.c
+--- zlib-1.2.5/contrib/minizip/ioapi.c 2010-01-04 12:31:24.000000000 -0500
++++ zlib-1.2.5-patch/contrib/minizip/ioapi.c 2011-07-05 15:47:48.263474587 -0400
+@@ -47,7 +47,7 @@
+ else
+ {
+ uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream);
+- if ((tell_uLong) == ((uLong)-1))
++ if ((tell_uLong) == MAXU32)
+ return (ZPOS64_T)-1;
+ else
+ return tell_uLong;
+diff -ru zlib-1.2.5/contrib/minizip/ioapi.h zlib-1.2.5-patch/contrib/minizip/ioapi.h
+--- zlib-1.2.5/contrib/minizip/ioapi.h 2010-02-15 06:59:40.000000000 -0500
++++ zlib-1.2.5-patch/contrib/minizip/ioapi.h 2011-07-05 15:48:36.281546917 -0400
+@@ -85,6 +85,8 @@
+ typedef uint64_t ZPOS64_T;
+ #else
+
++/* Maximum unsigned 32-bit value used as placeholder for zip64 */
++#define MAXU32 0xffffffff
+
+ #if defined(_MSC_VER) || defined(__BORLANDC__)
+ typedef unsigned __int64 ZPOS64_T;
+diff -ru zlib-1.2.5/contrib/minizip/unzip.c zlib-1.2.5-patch/contrib/minizip/unzip.c
+--- zlib-1.2.5/contrib/minizip/unzip.c 2010-02-15 06:59:40.000000000 -0500
++++ zlib-1.2.5-patch/contrib/minizip/unzip.c 2011-07-05 15:50:31.409310349 -0400
+@@ -1040,26 +1040,26 @@
+ {
+ uLong uL;
+
+- if(file_info.uncompressed_size == (ZPOS64_T)(unsigned long)-1)
++ if(file_info.uncompressed_size == MAXU32)
+ {
+ if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK)
+ err=UNZ_ERRNO;
+ }
+
+- if(file_info.compressed_size == (ZPOS64_T)(unsigned long)-1)
++ if(file_info.compressed_size == MAXU32)
+ {
+ if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK)
+ err=UNZ_ERRNO;
+ }
+
+- if(file_info_internal.offset_curfile == (ZPOS64_T)(unsigned long)-1)
++ if(file_info_internal.offset_curfile == MAXU32)
+ {
+ /* Relative Header offset */
+ if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK)
+ err=UNZ_ERRNO;
+ }
+
+- if(file_info.disk_num_start == (unsigned long)-1)
++ if(file_info.disk_num_start == MAXU32)
+ {
+ /* Disk Start Number */
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
+
diff --git a/zlib/prj/build.lst b/zlib/prj/build.lst
index 8ef73d94723a..2eb61b40f5c7 100644
--- a/zlib/prj/build.lst
+++ b/zlib/prj/build.lst
@@ -1,2 +1,3 @@
-zl zlib : soltools NULL
-zl zlib nmake - all zl_mkout NULL
+cl zlib : soltools NULL
+cl zlib usr1 - all zl_mkout NULL
+cl zlib\prj nmake - all zl_prj NULL
diff --git a/zlib/prj/d.lst b/zlib/prj/d.lst
index ef40caf49c44..e69de29bb2d1 100644
--- a/zlib/prj/d.lst
+++ b/zlib/prj/d.lst
@@ -1,11 +0,0 @@
-mkdir: %_DEST%\inc\external\zlib
-mkdir: %_DEST%\lib\x64
-
-..\%__SRC%\inc\patched\zlib.h %_DEST%\inc\external\zlib\zlib.h
-..\%__SRC%\inc\zconf.h %_DEST%\inc\external\zlib\zconf.h
-
-..\%__SRC%\lib\libzlib.a %_DEST%\lib\libzlib.a
-..\%__SRC%\slb\zlib.lib %_DEST%\lib\zlib.lib
-..\%__SRC%\slb\zlib.lin %_DEST%\lib\zlib.lin
-..\%__SRC%\slb\x64\zlib.lib %_DEST%\lib\x64\zlib.lib
-..\%__SRC%\slb\x64\zlib.lin %_DEST%\lib\x64\zlib.lin
diff --git a/zlib/prj/makefile.mk b/zlib/prj/makefile.mk
new file mode 100644
index 000000000000..0997622e00f6
--- /dev/null
+++ b/zlib/prj/makefile.mk
@@ -0,0 +1 @@
+.INCLUDE : gbuildbridge.mk
diff --git a/zlib/zlib-1.2.5.patch b/zlib/zlib-1.2.5.patch
deleted file mode 100644
index 3389b88c0ae9..000000000000
--- a/zlib/zlib-1.2.5.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- misc/zlib-1.2.5/makefile.mk Fri Mar 14 10:17:06 2008
-+++ misc/build/zlib-1.2.5/makefile.mk Fri Mar 14 10:16:56 2008
-@@ -1 +1,63 @@
--dummy
-+#*************************************************************************
-+#
-+# Copyright according the GNU Public License.
-+#
-+#*************************************************************************
-+
-+PRJ=..$/..$/..$/..
-+
-+PRJNAME=zlib
-+TARGET=zlib
-+LIBTARGET=NO
-+EXTERNAL_WARNINGS_NOT_ERRORS=TRUE
-+
-+# --- Settings -----------------------------------------------------
-+
-+.INCLUDE : settings.mk
-+
-+# --- Files --------------------------------------------------------
-+
-+INCEXT=contrib$/minizip
-+
-+SLOFILES= $(SLO)$/adler32.obj \
-+ $(SLO)$/compress.obj \
-+ $(SLO)$/deflate.obj \
-+ $(SLO)$/crc32.obj \
-+ $(SLO)$/inffast.obj \
-+ $(SLO)$/inflate.obj \
-+ $(SLO)$/inftrees.obj \
-+ $(SLO)$/trees.obj \
-+ $(SLO)$/zutil.obj
-+
-+
-+LIB1TARGET=$(SLB)$/$(TARGET).lib
-+LIB1ARCHIV=$(LB)$/lib$(TARGET).a
-+LIB1OBJFILES=$(SLOFILES)
-+
-+.IF "$(BUILD_X64)"!=""
-+SLOFILES_X64= $(SLO_X64)$/adler32.obj \
-+ $(SLO_X64)$/compress.obj \
-+ $(SLO_X64)$/deflate.obj \
-+ $(SLO_X64)$/crc32.obj \
-+ $(SLO_X64)$/inffast.obj \
-+ $(SLO_X64)$/inflate.obj \
-+ $(SLO_X64)$/inftrees.obj \
-+ $(SLO_X64)$/trees.obj \
-+ $(SLO_X64)$/zutil.obj
-+
-+LIB1TARGET_X64=$(SLB_X64)$/$(TARGET).lib
-+LIB1OBJFILES_X64=$(SLOFILES_X64)
-+.ENDIF # "$(BUILD_X64)"!=""
-+
-+
-+# --- Targets ------------------------------------------------------
-+
-+$(MISC)$/%.c : contrib$/minizip$/%.c
-+ @echo ------------------------------
-+ @echo Making: $@
-+ @$(COPY) $< $@
-+
-+.INCLUDE : set_wntx64.mk
-+.INCLUDE : target.mk
-+.INCLUDE : tg_wntx64.mk
-+