From: Mika Lindqvist Date: Tue, 12 May 2015 10:02:33 +0000 (+0300) Subject: Integrate win32/Makefile.gcc into Makefile.in X-Git-Tag: 1.9.9-b1~822^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F28%2Fhead;p=thirdparty%2Fzlib-ng.git Integrate win32/Makefile.gcc into Makefile.in --- diff --git a/Makefile.in b/Makefile.in index 8c92fdad..de277546 100644 --- a/Makefile.in +++ b/Makefile.in @@ -30,16 +30,17 @@ SHAREDLIB=libz.so 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 @@ -135,8 +136,11 @@ test64: all64 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 @@ -159,101 +163,117 @@ example64.o: $(SRCDIR)/test/example.c $(SRCDIR)/zlib.h zconf.h 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 @@ -269,8 +289,8 @@ clean: 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 diff --git a/configure b/configure index 93210bcd..e6417453 100755 --- a/configure +++ b/configure @@ -84,6 +84,11 @@ fi # 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}'} @@ -105,6 +110,8 @@ old_cc="$CC" 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() @@ -205,38 +212,67 @@ if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then 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) @@ -256,6 +292,7 @@ if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then 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" @@ -301,6 +338,7 @@ fi 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 @@ -364,7 +402,7 @@ if test $shared -eq 1; then # 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; @@ -380,6 +418,9 @@ if test $shared -eq 0; then 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" @@ -477,6 +518,10 @@ if test $compat -eq 1; then 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 @@ -727,6 +772,11 @@ echo LDCONFIG = $LDCONFIG >> configure.log 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 @@ -735,7 +785,10 @@ echo SFLAGS = $SFLAGS >> 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 @@ -743,6 +796,7 @@ echo TEST = $TEST >> 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 @@ -767,20 +821,26 @@ sed < $SRCDIR/Makefile.in " /^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# @@ -788,6 +848,8 @@ sed < $SRCDIR/Makefile.in " /^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# @@ -797,7 +859,7 @@ sed < $SRCDIR/Makefile.in " 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# diff --git a/gzguts.h b/gzguts.h index dbec9d93..2450775d 100644 --- a/gzguts.h +++ b/gzguts.h @@ -75,7 +75,7 @@ #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); diff --git a/win32/Makefile.gcc b/win32/Makefile.gcc deleted file mode 100644 index 86dbf258..00000000 --- a/win32/Makefile.gcc +++ /dev/null @@ -1,176 +0,0 @@ -# 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 diff --git a/win32/Makefile.msc b/win32/Makefile.msc index 84db69b5..a1100024 100644 --- a/win32/Makefile.msc +++ b/win32/Makefile.msc @@ -27,10 +27,16 @@ WFLAGS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE 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) \ @@ -42,7 +48,7 @@ $(STATICLIB): $(OBJS) $(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 diff --git a/win32/zlib.def b/win32/zlib.def index face6551..1d0c8947 100644 --- a/win32/zlib.def +++ b/win32/zlib.def @@ -33,36 +33,7 @@ EXPORTS 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 @@ -76,11 +47,9 @@ EXPORTS inflateInit_ inflateInit2_ inflateBackInit_ - gzgetc_ zError inflateSyncPoint get_crc_table inflateUndermine inflateResetKeep deflateResetKeep - gzopen_w diff --git a/win32/zlibcompat.def b/win32/zlibcompat.def new file mode 100644 index 00000000..face6551 --- /dev/null +++ b/win32/zlibcompat.def @@ -0,0 +1,86 @@ +; 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