SHAREDLIBV=libz.so.1.2.8
SHAREDLIBM=libz.so.1
IMPORTLIB=
-ifneq ($(IMPORTLIB),)
- SHAREDTARGET=$(SHAREDLIB)
-else
- SHAREDTARGET=$(SHAREDLIBV)
-endif
+SHAREDTARGET=libz.so.1.2.8
-LIBS=$(STATICLIB) $(SHAREDLIBV)
+LIBS=$(STATICLIB) $(SHAREDTARGET)
AR=ar
ARFLAGS=rc
+DEFFILE=
+RC=
+RCFLAGS=
+RCOBJS=
+STRIP=
RANLIB=ranlib
LDCONFIG=ldconfig
LDSHAREDLIBC=-lc
infcover.o: $(SRCDIR)/test/infcover.c $(SRCDIR)/zlib.h zconf.h
$(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $(SRCDIR)/test/infcover.c
-infcover: infcover.o libz.a
- $(CC) $(CFLAGS) -o $@ infcover.o libz.a $(BSDLIBS)
+infcover: infcover.o $(STATICLIB)
+ $(CC) $(CFLAGS) -o $@ infcover.o $(STATICLIB) $(BSDLIBS)
+ifneq ($(STRIP),)
+ $(STRIP) $@
+endif
cover: infcover
rm -f *.gcda
minigzip64.o: $(SRCDIR)/test/minigzip.c $(SRCDIR)/zlib.h zconf.h
$(CC) $(CFLAGS) $(INCLUDES) -D_FILE_OFFSET_BITS=64 -c -o $@ $(SRCDIR)/test/minigzip.c
+zlibrc.o: win32/zlib1.rc
+ $(RC) $(RCFLAGS) -o $@ win32/zlib1.rc
+
.SUFFIXES: .lo
%.o: $(SRCDIR)/%.c
$(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $<
%.lo: $(SRCDIR)/%.c
- -@mkdir objs 2>/dev/null || test -d objs
- $(CC) $(INCLUDES) $(SFLAGS) -DPIC -c -o objs/$*.o $<
- -@mv objs/$*.o $@
+ $(CC) $(INCLUDES) $(SFLAGS) -DPIC -c -o $@ $<
-placebo $(SHAREDTARGET): $(PIC_OBJS) $(STATICLIB)
- $(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
-ifeq ($(IMPORTLIB),)
+$(SHAREDTARGET): $(PIC_OBJS) $(DEFFILE) $(RCOBJS)
+ifneq ($(SHAREDTARGET),)
+ $(LDSHARED) $(SFLAGS) -o $@ $(DEFFILE) $(PIC_OBJS) $(RCOBJS) $(LDSHAREDLIBC) $(LDFLAGS)
+ifneq ($(STRIP),)
+ $(STRIP) $@
+endif
+ifneq ($(SHAREDLIB),$(SHAREDTARGET))
rm -f $(SHAREDLIB) $(SHAREDLIBM)
ln -s $@ $(SHAREDLIB)
ln -s $@ $(SHAREDLIBM)
endif
- -@rmdir objs
+endif
example$(EXE): example.o $(STATICLIB)
$(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
+ifneq ($(STRIP),)
+ $(STRIP) $@
+endif
minigzip$(EXE): minigzip.o $(STATICLIB)
$(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
+ifneq ($(STRIP),)
+ $(STRIP) $@
+endif
examplesh$(EXE): example.o $(SHAREDTARGET)
$(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDTARGET)
+ifneq ($(STRIP),)
+ $(STRIP) $@
+endif
minigzipsh$(EXE): minigzip.o $(SHAREDTARGET)
$(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDTARGET)
+ifneq ($(STRIP),)
+ $(STRIP) $@
+endif
example64$(EXE): example64.o $(STATICLIB)
$(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
+ifneq ($(STRIP),)
+ $(STRIP) $@
+endif
minigzip64$(EXE): minigzip64.o $(STATICLIB)
$(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
+ifneq ($(STRIP),)
+ $(STRIP) $@
+endif
-install-libs: $(LIBS)
- -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
- -@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi
- -@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)/$(STATICLIB) || true) >/dev/null 2>&1
+install-shared: $(SHAREDTARGET)
ifneq ($(SHAREDTARGET),)
-ifneq ($(IMPORTLIB),)
- cp $(IMPORTLIB) $(DESTDIR)$(sharedlibdir)
- echo "cp $(IMPORTLIB) $(DESTDIR)$(sharedlibdir)"
- chmod 644 $(DESTDIR)$(sharedlibdir)/$(IMPORTLIB)
- -@if [ ! -d $(DESTDIR)$(bindir) ]; then mkdir -p $(DESTDIR)$(bindir); fi
- cp $(SHAREDTARGET) $(DESTDIR)$(bindir)
- echo "cp $(SHAREDTARGET) $(DESTDIR)$(bindir)"
- chmod 755 $(DESTDIR)$(bindir)/$(SHAREDTARGET)
- echo "chmod 755 $(DESTDIR)$(bindir)/$(SHAREDTARGET)"
-else
+ -@if [ ! -d $(DESTDIR)$(sharedlibdir) ]; then mkdir -p $(DESTDIR)$(sharedlibdir); fi
cp $(SHAREDTARGET) $(DESTDIR)$(sharedlibdir)
- echo "cp $(SHAREDTARGET) $(DESTDIR)$(sharedlibdir)"
chmod 644 $(DESTDIR)$(sharedlibdir)/$(SHAREDTARGET)
- echo "chmod 644 $(DESTDIR)$(sharedlibdir)/$(SHAREDTARGET)"
+ifneq ($(SHAREDLIB),$(SHAREDTARGET))
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
+# ldconfig is for Linux
endif
+ifneq ($(IMPORTLIB),)
+ cp $(IMPORTLIB) $(DESTDIR)$(sharedlibdir)
+ chmod 644 $(DESTDIR)$(sharedlibdir)/$(IMPORTLIB)
endif
+endif
+
+install-static: $(STATICLIB)
+ -@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi
+ cp $(STATICLIB) $(DESTDIR)$(libdir)
+ chmod 644 $(DESTDIR)$(libdir)/$(STATICLIB)
+ -@($(RANLIB) $(DESTDIR)$(libdir)/$(STATICLIB) || true) >/dev/null 2>&1
+# The ranlib in install-static is needed on NeXTSTEP which checks file times
+
+install-libs: install-shared install-static
+ -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
+ -@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
cp $(SRCDIR)/zlib.3 $(DESTDIR)$(man3dir)
chmod 644 $(DESTDIR)$(man3dir)/zlib.3
cp zlib.pc $(DESTDIR)$(pkgconfigdir)
chmod 644 $(DESTDIR)$(pkgconfigdir)/zlib.pc
-# The ranlib in install is needed on NeXTSTEP which checks file times
-# ldconfig is for Linux
install: install-libs
-@if [ ! -d $(DESTDIR)$(includedir) ]; then mkdir -p $(DESTDIR)$(includedir); fi
cp $(SRCDIR)/zlib.h zconf.h $(DESTDIR)$(includedir)
chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
-uninstall:
- cd $(DESTDIR)$(includedir) && rm -f zlib.h zconf.h
- cd $(DESTDIR)$(libdir) && rm -f $(STATICLIB); \
- if test -n "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \
- rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
- fi
+uninstall-static:
+ cd $(DESTDIR)$(libdir) && rm -f $(STATICLIB)
+
+uninstall-shared:
+ifneq ($(SHAREDLIB),)
+ cd $(DESTDIR)$(sharedlibdir) && rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM)
+endif
ifneq ($(IMPORTLIB),)
- cd $(DESTDIR)$(sharedlibdir); \
- if test -n "$(SHAREDLIB)" -a -f $(IMPORTLIB); then \
- rm -f $(IMPORTLIB); \
- fi
- cd $(DESTDIR)$(bindir); \
- if test -n "$(SHAREDLIB)" -a -f $(SHAREDLIB); then \
- rm -f $(SHAREDLIB); \
- fi
+ cd $(DESTDIR)$(sharedlibdir) && rm -f $(IMPORTLIB)
endif
+
+uninstall: uninstall-static uninstall-shared
+ cd $(DESTDIR)$(includedir) && rm -f zlib.h zconf.h
cd $(DESTDIR)$(man3dir) && rm -f zlib.3
cd $(DESTDIR)$(pkgconfigdir) && rm -f zlib.pc
example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
example64$(EXE) minigzip64$(EXE) \
infcover \
- $(STATICLIB) $(IMPORTLIB) $(SHAREDTARGET) $(SHAREDLIB) $(SHAREDLIBV) $(SHAREDLIBM) \
- libz.* foo.gz so_locations \
+ $(STATICLIB) $(IMPORTLIB) $(SHAREDLIB) $(SHAREDLIBV) $(SHAREDLIBM) \
+ foo.gz so_locations \
_match.s maketree
rm -rf objs
rm -f *.gcda *.gcno *.gcov
# set defaults before processing command line options
LDCONFIG=${LDCONFIG-"ldconfig"}
LDSHAREDLIBC="${LDSHAREDLIBC--lc}"
+DEFFILE=
+RC=
+RCFLAGS=
+RCOBJS=
+STRIP=
ARCHS=
prefix=${prefix-/usr/local}
exec_prefix=${exec_prefix-'${prefix}'}
old_cflags="$CFLAGS"
OBJC='$(OBJZ)'
PIC_OBJC='$(PIC_OBJZ)'
+INSTALLTARGETS="install-shared install-static"
+UNINSTALLTARGETS="uninstall-shared uninstall-static"
# leave this script, optionally in a bad way
leave()
if test -z "$uname"; then
uname=`(uname -s || echo unknown) 2>/dev/null`
fi
- # LFS
- CFLAGS="${CFLAGS} -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200809L"
case "$uname" in
Linux* | linux* | GNU | GNU/* | solaris*)
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}/zlib.map"} ;;
*BSD | *bsd* | DragonFly)
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}/zlib.map"}
LDCONFIG="ldconfig -m" ;;
- CYGWIN* | Cygwin* | cygwin* | OS/2*)
+ CYGWIN* | Cygwin* | cygwin*)
+ ARFLAGS="rcs"
+ CFLAGS="${CFLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
SFLAGS="${CFLAGS}"
shared_ext='.dll'
+ sharedlibdir='${bindir}'
SHAREDLIB=cygz$shared_ext
+ SHAREDLIBM=''
+ SHAREDLIBV=''
+ SHAREDTARGET=$SHAREDLIB
IMPORTLIB='libz.dll.a'
- LDSHARED=${LDSHARED-"$cc -shared -Wl,--enable-auto-image-base -Wl,--out-implib=${IMPORTLIB}"}
- LDSHAREDLIBC=''
+ LDSHARED=${LDSHARED-"$cc -shared -Wl,--out-implib,${IMPORTLIB},--version-script,${SRCDIR}/zlib.map"}
+ LDSHAREDLIBC=""
+ DEFFILE='win32/zlib.def'
+ RC='windres'
+ RCFLAGS='--define GCC_WINDRES'
+ RCOBJS='zlibrc.o'
+ STRIP='strip'
EXE='.exe' ;;
MSYS* | msys*)
+ ARFLAGS="rcs"
SFLAGS="${CFLAGS}"
shared_ext='.dll'
+ sharedlibdir='${bindir}'
SHAREDLIB=msys-z$shared_ext
+ SHAREDLIBM=''
+ SHAREDLIBV=''
+ SHAREDTARGET=$SHAREDLIB
IMPORTLIB='libz.dll.a'
- LDSHARED=${LDSHARED-"$cc -shared -Wl,--enable-auto-image-base -Wl,--out-implib=${IMPORTLIB}"}
- LDSHAREDLIBC=''
+ LDSHARED=${LDSHARED-"$cc -shared -Wl,--out-implib,${IMPORTLIB}"}
+ LDSHAREDLIBC=""
+ DEFFILE='win32/zlib.def'
+ RC='windres'
+ RCFLAGS='--define GCC_WINDRES'
+ RCOBJS='zlibrc.o'
+ STRIP='strip'
EXE='.exe' ;;
MINGW* | mingw*)
- CFLAGS="${CFLAGS} -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE=1"
+ ARFLAGS="rcs"
+ CFLAGS="${CFLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_POSIX_C_SOURCE=200809L -D_GNU_SOURCE=1"
SFLAGS="${CFLAGS}"
shared_ext='.dll'
+ sharedlibdir='${bindir}'
SHAREDLIB=libz-$VER1$shared_ext
+ SHAREDLIBM=''
+ SHAREDLIBV=''
+ SHAREDTARGET=$SHAREDLIB
IMPORTLIB='libz.dll.a'
- LDSHARED=${LDSHARED-"$cc -shared -Wl,--enable-auto-image-base -Wl,--out-implib=${IMPORTLIB}"}
- LDSHAREDLIBC=''
+ LDSHARED=${LDSHARED-"$cc -shared -Wl,--out-implib,${IMPORTLIB},--version-script,${SRCDIR}/zlib.map"}
+ LDSHAREDLIBC=""
+ DEFFILE='win32/zlib.def'
+ RC='windres'
+ RCFLAGS='--define GCC_WINDRES'
+ RCOBJS='zlibrc.o'
+ STRIP='strip'
EXE='.exe' ;;
QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
# (alain.bonnefoy@icbt.com)
SHAREDLIB=libz$shared_ext
SHAREDLIBV=libz.$VER$shared_ext
SHAREDLIBM=libz.$VER1$shared_ext
+ SHAREDTARGET=$SHAREDLIBV
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"
SHAREDLIB=${SHAREDLIB-"libz$shared_ext"}
SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"}
+SHAREDTARGET=${SHAREDTARGET-"libz$shared_ext.$VER"}
echo >> configure.log
# we must test in two steps (cc then ld), required at least on SunOS 4.x
if try $CC -w -c $SFLAGS $test.c &&
try $LDSHARED $SFLAGS -o $test$shared_ext $test.o; then
- echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log
+ echo Building shared library $SHAREDTARGET with $CC. | tee -a configure.log
elif test -z "$old_cc" -a -z "$old_cflags"; then
echo No shared library support. | tee -a configure.log
shared=0;
SHAREDLIB=""
SHAREDLIBV=""
SHAREDLIBM=""
+ SHAREDTARGET=""
+ INSTALLTARGETS=install-static
+ UNINSTALLTARGETS=uninstall-static
echo Building static library $STATICLIB version $VER with $CC. | tee -a configure.log
else
ALL="static shared"
SFLAGS="${SFLAGS} -DZLIB_COMPAT -DWITH_GZFILEOP"
OBJC="${OBJC} \$(OBJG)"
PIC_OBJC="${PIC_OBJC} \$(PIC_OBJG)"
+ case "$uname" in
+ CYGWIN* | Cygwin* | cygwin* | MSYS* | msys* | MINGW* | mingw*)
+ DEFFILE="win32/zlibcompat.def" ;;
+ esac
fi
# if code coverage testing was requested, use older gcc if defined, e.g. "gcc-4.2" on Mac OS X
echo LDFLAGS = $LDFLAGS >> configure.log
echo LDSHARED = $LDSHARED >> configure.log
echo LDSHAREDLIBC = $LDSHAREDLIBC >> configure.log
+echo DEFFILE = $DEFFILE >> configure.log
+echo RC = $RC >> configure.log
+echo RCFLAGS = $RCFLAGS >> configure.log
+echo RCOBJS = $RCOBJS >> configure.log
+echo STRIP = $STRIP >> configure.log
echo BSDLIBS = $BSDLIBS >> configure.log
echo OBJC = $OBJC >> configure.log
echo PIC_OBJC = $PIC_OBJC >> configure.log
echo SHAREDLIB = $SHAREDLIB >> configure.log
echo SHAREDLIBM = $SHAREDLIBM >> configure.log
echo SHAREDLIBV = $SHAREDLIBV >> configure.log
+echo SHAREDTARGET = $SHAREDTARGET >> configure.log
echo IMPORTLIB = $IMPORTLIB >> configure.log
+echo INSTALLTARGETS = $INSTALLTARGETS >> configure.log
+echo UNINSTALLTARGETS = $UNINSTALLTARGETS >> configure.log
echo SRCDIR = $SRCDIR >> configure.log
echo BUILDDIR = $BUILDDIR >> configure.log
echo STATICLIB = $STATICLIB >> configure.log
echo VER = $VER >> configure.log
echo exec_prefix = $exec_prefix >> configure.log
echo includedir = $includedir >> configure.log
+echo bindir = $bindir >> configure.log
echo libdir = $libdir >> configure.log
echo mandir = $mandir >> configure.log
echo prefix = $prefix >> configure.log
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
+/^SHAREDTARGET *=/s#=.*#=$SHAREDTARGET#
/^IMPORTLIB *=/s#=.*#=$IMPORTLIB#
/^AR *=/s#=.*#=$AR#
/^ARFLAGS *=/s#=.*#=$ARFLAGS#
/^RANLIB *=/s#=.*#=$RANLIB#
/^LDCONFIG *=/s#=.*#=$LDCONFIG#
/^LDSHAREDLIBC *=/s#=.*#=$LDSHAREDLIBC#
+/^DEFFILE *=/s#=.*#=$DEFFILE#
+/^RC *=/s#=.*#=$RC#
+/^RCFLAGS *=/s#=.*#=$RCFLAGS#
+/^RCOBJS *=/s#=.*#=$RCOBJS#
+/^STRIP *=/s#=.*#=$STRIP#
/^EXE *=/s#=.*#=$EXE#
-/^prefix *=/s#=.*#=$prefix#
-/^exec_prefix *=/s#=.*#=$exec_prefix#
-/^bindir *=/s#=.*#=$bindir#
-/^libdir *=/s#=.*#=$libdir#
-/^sharedlibdir *=/s#=.*#=$sharedlibdir#
-/^includedir *=/s#=.*#=$includedir#
-/^mandir *=/s#=.*#=$mandir#
+/^prefix *=/s#=.*#= $prefix#
+/^exec_prefix *=/s#=.*#= $exec_prefix#
+/^bindir *=/s#=.*#= $bindir#
+/^libdir *=/s#=.*#= $libdir#
+/^sharedlibdir *=/s#=.*#= $sharedlibdir#
+/^includedir *=/s#=.*#= $includedir#
+/^mandir *=/s#=.*#= $mandir#
/^SRCDIR *=/s#=.*#=$SRCDIR#
/^BSDLIBS *=/s#=.*#=$BSDLIBS#
/^INCLUDES *=/s#=.*#=$INCLUDES#
/^PIC_OBJC *=/s#=.*#= $PIC_OBJC#
/^all: */s#:.*#: $ALL#
/^test: */s#:.*#: $TEST#
+/^install-libs: */s#:.*#: $INSTALLTARGETS#
+/^uninstall-libs: */s#:.*#: $UNINSTALLTARGETS#
/^ARCHDIR *=/s#=.*#=$ARCHDIR#
/^ARCH_STATIC_OBJS *=/s#=.*#=$ARCH_STATIC_OBJS#
/^ARCH_SHARED_OBJS *=/s#=.*#=$ARCH_SHARED_OBJS#
mkdir -p $ARCHDIR
ARCHINCLUDES="-I$SRCDIR/$ARCHDIR -I$SRCDIR"
-if [ "$SRCDIR" != "$BUILDDIR" ]; then ARCHINCLUDES="${ARCHINCLUDES} -I$BUILDDIR"; fi
+if [ "$SRCDIR" != "$BUILDDIR" ]; then ARCHINCLUDES="-I$BUILDDIR ${ARCHINCLUDES}"; fi
sed < $SRCDIR/$ARCHDIR/Makefile.in "
/^CC *=/s#=.*#=$CC#
#endif
/* provide prototypes for these when building zlib without LFS */
-#if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0
+#if (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) && defined(WITH_GZFILEOP)
ZEXTERN gzFile ZEXPORT gzopen64 (const char *, const char *);
ZEXTERN z_off64_t ZEXPORT gzseek64 (gzFile, z_off64_t, int);
ZEXTERN z_off64_t ZEXPORT gztell64 (gzFile);
+++ /dev/null
-# Makefile for zlib, derived from Makefile.dj2.
-# Modified for mingw32 by C. Spieler, 6/16/98.
-# Updated for zlib 1.2.x by Christian Spieler and Cosmin Truta, Mar-2003.
-# Updated for zlib-ng by Mika Lindqvist
-# Last updated: May 2015.
-# Tested under Cygwin and MinGW.
-
-# Copyright (C) 1995-2003 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type from the top level zlib directory:
-#
-# make -fwin32/Makefile.gcc; make test testdll -fwin32/Makefile.gcc
-#
-# To install libz.a, zconf.h and zlib.h in the system directories, type:
-#
-# make install -fwin32/Makefile.gcc
-#
-# BINARY_PATH, INCLUDE_PATH and LIBRARY_PATH must be set.
-#
-# To install the shared lib, append SHARED_MODE=1 to the make command :
-#
-# make install -fwin32/Makefile.gcc SHARED_MODE=1
-
-# Note:
-# If the platform is *not* MinGW (e.g. it is Cygwin or UWIN),
-# the DLL name should be changed from "zlib1.dll".
-
-STATICLIB = libz.a
-SHAREDLIB = zlib1.dll
-IMPLIB = libz.dll.a
-
-#
-# Set to 1 if shared object needs to be installed
-#
-SHARED_MODE=0
-
-#LOC = -DDEBUG -g
-
-PREFIX =
-CC = $(PREFIX)gcc
-CFLAGS = $(LOC) -O3 -Wall
-
-LD = $(CC)
-LDFLAGS = $(LOC)
-
-AR = $(PREFIX)ar
-ARFLAGS = rcs
-
-RC = $(PREFIX)windres
-RCFLAGS = --define GCC_WINDRES
-
-STRIP = $(PREFIX)strip
-
-CP = cp -fp
-# If GNU install is available, replace $(CP) with install.
-INSTALL = $(CP)
-RM = rm -f
-
-prefix ?= /usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o \
- gzwrite.o infback.o inffast.o inflate.o inftrees.o match.o trees.o uncompr.o zutil.o
-
-all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) example.exe minigzip.exe example_d.exe minigzip_d.exe
-
-test: example.exe minigzip.exe
- ./example
- echo hello world | ./minigzip | ./minigzip -d
-
-testdll: example_d.exe minigzip_d.exe
- ./example_d
- echo hello world | ./minigzip_d | ./minigzip_d -d
-
-.c.o:
- $(CC) $(CFLAGS) -c -o $@ $<
-
-$(STATICLIB): $(OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJS)
-
-$(IMPLIB): $(SHAREDLIB)
-
-$(SHAREDLIB): win32/zlib.def $(OBJS) zlibrc.o
- $(CC) -shared -Wl,--out-implib,$(IMPLIB) $(LDFLAGS) \
- -o $@ win32/zlib.def $(OBJS) zlibrc.o
- $(STRIP) $@
-
-example.exe: example.o $(STATICLIB)
- $(LD) $(LDFLAGS) -o $@ example.o $(STATICLIB)
- $(STRIP) $@
-
-minigzip.exe: minigzip.o $(STATICLIB)
- $(LD) $(LDFLAGS) -o $@ minigzip.o $(STATICLIB)
- $(STRIP) $@
-
-example_d.exe: example.o $(IMPLIB)
- $(LD) $(LDFLAGS) -o $@ example.o $(IMPLIB)
- $(STRIP) $@
-
-minigzip_d.exe: minigzip.o $(IMPLIB)
- $(LD) $(LDFLAGS) -o $@ minigzip.o $(IMPLIB)
- $(STRIP) $@
-
-example.o: test/example.c zlib.h zconf.h
- $(CC) $(CFLAGS) -I. -c -o $@ test/example.c
-
-minigzip.o: test/minigzip.c zlib.h zconf.h
- $(CC) $(CFLAGS) -I. -c -o $@ test/minigzip.c
-
-zlibrc.o: win32/zlib1.rc
- $(RC) $(RCFLAGS) -o $@ win32/zlib1.rc
-
-.PHONY: install uninstall clean
-
-install: zlib.h zconf.h $(STATICLIB) $(IMPLIB)
- @if test -z "$(DESTDIR)$(INCLUDE_PATH)" -o -z "$(DESTDIR)$(LIBRARY_PATH)" -o -z "$(DESTDIR)$(BINARY_PATH)"; then \
- echo INCLUDE_PATH, LIBRARY_PATH, and BINARY_PATH must be specified; \
- exit 1; \
- fi
- -@mkdir -p '$(DESTDIR)$(INCLUDE_PATH)'
- -@mkdir -p '$(DESTDIR)$(LIBRARY_PATH)' '$(DESTDIR)$(LIBRARY_PATH)'/pkgconfig
- -if [ "$(SHARED_MODE)" = "1" ]; then \
- mkdir -p '$(DESTDIR)$(BINARY_PATH)'; \
- $(INSTALL) $(SHAREDLIB) '$(DESTDIR)$(BINARY_PATH)'; \
- $(INSTALL) $(IMPLIB) '$(DESTDIR)$(LIBRARY_PATH)'; \
- fi
- -$(INSTALL) zlib.h '$(DESTDIR)$(INCLUDE_PATH)'
- -$(INSTALL) zconf.h '$(DESTDIR)$(INCLUDE_PATH)'
- -$(INSTALL) $(STATICLIB) '$(DESTDIR)$(LIBRARY_PATH)'
- sed \
- -e 's|@prefix@|${prefix}|g' \
- -e 's|@exec_prefix@|${exec_prefix}|g' \
- -e 's|@libdir@|$(LIBRARY_PATH)|g' \
- -e 's|@sharedlibdir@|$(LIBRARY_PATH)|g' \
- -e 's|@includedir@|$(INCLUDE_PATH)|g' \
- -e 's|@VERSION@|'`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' zlib.h`'|g' \
- zlib.pc.in > '$(DESTDIR)$(LIBRARY_PATH)'/pkgconfig/zlib.pc
-
-uninstall:
- -if [ "$(SHARED_MODE)" = "1" ]; then \
- $(RM) '$(DESTDIR)$(BINARY_PATH)'/$(SHAREDLIB); \
- $(RM) '$(DESTDIR)$(LIBRARY_PATH)'/$(IMPLIB); \
- fi
- -$(RM) '$(DESTDIR)$(INCLUDE_PATH)'/zlib.h
- -$(RM) '$(DESTDIR)$(INCLUDE_PATH)'/zconf.h
- -$(RM) '$(DESTDIR)$(LIBRARY_PATH)'/$(STATICLIB)
-
-clean:
- -$(RM) $(STATICLIB)
- -$(RM) $(SHAREDLIB)
- -$(RM) $(IMPLIB)
- -$(RM) *.o
- -$(RM) *.exe
- -$(RM) foo.gz
-
-distclean: clean
- @printf 'all:\n\t-@echo "Please use ./configure first. Thank you."\n' > Makefile
- @printf '\ndistclean:\n\tmake -f Makefile.in distclean\n' >> Makefile
- @touch -r Makefile.in Makefile
-
-adler32.o: zlib.h zconf.h
-compress.o: zlib.h zconf.h
-crc32.o: crc32.h zlib.h zconf.h
-deflate.o: deflate.h zutil.h zlib.h zconf.h
-gzclose.o: zlib.h zconf.h gzguts.h
-gzlib.o: zlib.h zconf.h gzguts.h
-gzread.o: zlib.h zconf.h gzguts.h
-gzwrite.o: zlib.h zconf.h gzguts.h
-inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-inftrees.o: zutil.h zlib.h zconf.h inftrees.h
-trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
-uncompr.o: zlib.h zconf.h
-zutil.o: zutil.h zlib.h zconf.h
LDFLAGS = -nologo -debug -incremental:no -opt:ref -manifest
ARFLAGS = -nologo
RCFLAGS = /dWIN32 /r
+DEFFILE = zlib.def
+WITH_GZFILEOP =
-OBJS = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj \
- gzwrite.obj infback.obj inflate.obj inftrees.obj inffast.obj match.obj trees.obj uncompr.obj zutil.obj
-
+OBJS = adler32.obj compress.obj crc32.obj deflate.obj \
+ infback.obj inflate.obj inftrees.obj inffast.obj match.obj trees.obj uncompr.obj zutil.obj
+!if "$(WITH_GZFILEOP)" != ""
+WFLAGS = $(WFLAGS) -DWITH_GZFILEOP
+OBJS = $(OBJS) gzclose.obj gzlib.obj gzread.obj gzwrite.obj
+DEFFILE = zlibcompat.def
+!endif
# targets
all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) \
$(IMPLIB): $(SHAREDLIB)
$(SHAREDLIB): $(TOP)/win32/zlib.def $(OBJS) zlib1.res
- $(LD) $(LDFLAGS) -def:$(TOP)/win32/zlib.def -dll -implib:$(IMPLIB) \
+ $(LD) $(LDFLAGS) -def:$(TOP)/win32/$(DEFFILE) -dll -implib:$(IMPLIB) \
-out:$@ -base:0x5A4C0000 $(OBJS) zlib1.res
if exist $@.manifest \
mt -nologo -manifest $@.manifest -outputresource:$@;2
compress2
compressBound
uncompress
- gzopen
- gzdopen
- gzbuffer
- gzsetparams
- gzread
- gzwrite
- gzprintf
- gzvprintf
- gzputs
- gzgets
- gzputc
- gzgetc
- gzungetc
- gzflush
- gzseek
- gzrewind
- gztell
- gzoffset
- gzeof
- gzdirect
- gzclose
- gzclose_r
- gzclose_w
- gzerror
- gzclearerr
; large file functions
- gzopen64
- gzseek64
- gztell64
- gzoffset64
adler32_combine64
crc32_combine64
; checksum functions
inflateInit_
inflateInit2_
inflateBackInit_
- gzgetc_
zError
inflateSyncPoint
get_crc_table
inflateUndermine
inflateResetKeep
deflateResetKeep
- gzopen_w
--- /dev/null
+; zlib data compression library
+EXPORTS
+; basic functions
+ zlibVersion
+ deflate
+ deflateEnd
+ inflate
+ inflateEnd
+; advanced functions
+ deflateSetDictionary
+ deflateCopy
+ deflateReset
+ deflateParams
+ deflateTune
+ deflateBound
+ deflatePending
+ deflatePrime
+ deflateSetHeader
+ inflateSetDictionary
+ inflateGetDictionary
+ inflateSync
+ inflateCopy
+ inflateReset
+ inflateReset2
+ inflatePrime
+ inflateMark
+ inflateGetHeader
+ inflateBack
+ inflateBackEnd
+ zlibCompileFlags
+; utility functions
+ compress
+ compress2
+ compressBound
+ uncompress
+ gzopen
+ gzdopen
+ gzbuffer
+ gzsetparams
+ gzread
+ gzwrite
+ gzprintf
+ gzvprintf
+ gzputs
+ gzgets
+ gzputc
+ gzgetc
+ gzungetc
+ gzflush
+ gzseek
+ gzrewind
+ gztell
+ gzoffset
+ gzeof
+ gzdirect
+ gzclose
+ gzclose_r
+ gzclose_w
+ gzerror
+ gzclearerr
+; large file functions
+ gzopen64
+ gzseek64
+ gztell64
+ gzoffset64
+ adler32_combine64
+ crc32_combine64
+; checksum functions
+ adler32
+ crc32
+ adler32_combine
+ crc32_combine
+; various hacks, don't look :)
+ deflateInit_
+ deflateInit2_
+ inflateInit_
+ inflateInit2_
+ inflateBackInit_
+ gzgetc_
+ zError
+ inflateSyncPoint
+ get_crc_table
+ inflateUndermine
+ inflateResetKeep
+ deflateResetKeep
+ gzopen_w