| 1 | --- a/Makefile.in |
| 2 | +++ b/Makefile.in |
| 3 | @@ -25,20 +25,23 @@ CFLAGS=-O |
| 4 | # -Wstrict-prototypes -Wmissing-prototypes |
| 5 | |
| 6 | LDFLAGS=libz.a |
| 7 | -LDSHARED=$(CC) |
| 8 | +LDSHARED=$(CC) -shared -Wl,-soname,$(SHAREDLIBM) |
| 9 | CPP=$(CC) -E |
| 10 | |
| 11 | -LIBS=libz.a |
| 12 | +LIBS= |
| 13 | +STATICLIB=libz.a |
| 14 | SHAREDLIB=libz.so |
| 15 | SHAREDLIBV=libz.so.1.2.3 |
| 16 | SHAREDLIBM=libz.so.1 |
| 17 | |
| 18 | -AR=ar rc |
| 19 | +AR=ar |
| 20 | RANLIB=ranlib |
| 21 | TAR=tar |
| 22 | SHELL=/bin/sh |
| 23 | EXE= |
| 24 | |
| 25 | +DESTDIR = |
| 26 | + |
| 27 | prefix = /usr/local |
| 28 | exec_prefix = ${prefix} |
| 29 | libdir = ${exec_prefix}/lib |
| 30 | @@ -67,8 +70,8 @@ test: all |
| 31 | echo ' *** zlib test FAILED ***'; \ |
| 32 | fi |
| 33 | |
| 34 | -libz.a: $(OBJS) $(OBJA) |
| 35 | - $(AR) $@ $(OBJS) $(OBJA) |
| 36 | +$(STATICLIB): $(OBJS) $(OBJA) |
| 37 | + $(AR) rc $@ $(OBJS) $(OBJA) |
| 38 | -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 |
| 39 | |
| 40 | match.o: match.S |
| 41 | @@ -77,8 +80,10 @@ match.o: match.S |
| 42 | mv _match.o match.o |
| 43 | rm -f _match.s |
| 44 | |
| 45 | +$(SHAREDLIB): $(SHAREDLIBV) |
| 46 | + |
| 47 | $(SHAREDLIBV): $(OBJS) |
| 48 | - $(LDSHARED) -o $@ $(OBJS) |
| 49 | + $(LDSHARED) -lc -o $@ $(OBJS) |
| 50 | rm -f $(SHAREDLIB) $(SHAREDLIBM) |
| 51 | ln -s $@ $(SHAREDLIB) |
| 52 | ln -s $@ $(SHAREDLIBM) |
| 53 | @@ -90,23 +95,22 @@ minigzip$(EXE): minigzip.o $(LIBS) |
| 54 | $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) |
| 55 | |
| 56 | install: $(LIBS) |
| 57 | - -@if [ ! -d $(exec_prefix) ]; then mkdir -p $(exec_prefix); fi |
| 58 | - -@if [ ! -d $(includedir) ]; then mkdir -p $(includedir); fi |
| 59 | - -@if [ ! -d $(libdir) ]; then mkdir -p $(libdir); fi |
| 60 | - -@if [ ! -d $(man3dir) ]; then mkdir -p $(man3dir); fi |
| 61 | - cp zlib.h zconf.h $(includedir) |
| 62 | - chmod 644 $(includedir)/zlib.h $(includedir)/zconf.h |
| 63 | - cp $(LIBS) $(libdir) |
| 64 | - cd $(libdir); chmod 755 $(LIBS) |
| 65 | - -@(cd $(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1 |
| 66 | - cd $(libdir); if test -f $(SHAREDLIBV); then \ |
| 67 | + -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi |
| 68 | + -@if [ ! -d $(DESTDIR)$(includedir) ]; then mkdir -p $(DESTDIR)$(includedir); fi |
| 69 | + -@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi |
| 70 | + -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi |
| 71 | + cp zlib.h zconf.h $(DESTDIR)$(includedir) |
| 72 | + chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h |
| 73 | + cp $(STATICLIB) $(SHAREDLIBV) $(DESTDIR)$(libdir) |
| 74 | + cd $(DESTDIR)$(libdir); chmod 755 $(LIBS) |
| 75 | + -@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1 |
| 76 | + cd $(DESTDIR)$(libdir); if test -f $(SHAREDLIBV); then \ |
| 77 | rm -f $(SHAREDLIB) $(SHAREDLIBM); \ |
| 78 | ln -s $(SHAREDLIBV) $(SHAREDLIB); \ |
| 79 | ln -s $(SHAREDLIBV) $(SHAREDLIBM); \ |
| 80 | - (ldconfig || true) >/dev/null 2>&1; \ |
| 81 | fi |
| 82 | - cp zlib.3 $(man3dir) |
| 83 | - chmod 644 $(man3dir)/zlib.3 |
| 84 | + cp zlib.3 $(DESTDIR)$(man3dir) |
| 85 | + chmod 644 $(DESTDIR)$(man3dir)/zlib.3 |
| 86 | # The ranlib in install is needed on NeXTSTEP which checks file times |
| 87 | # ldconfig is for Linux |
| 88 | |
| 89 | --- a/configure |
| 90 | +++ b/configure |
| 91 | @@ -23,7 +23,7 @@ LDFLAGS="-L. ${LIBS}" |
| 92 | VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h` |
| 93 | VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h` |
| 94 | VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h` |
| 95 | -AR=${AR-"ar rc"} |
| 96 | +AR=${AR-"ar"} |
| 97 | RANLIB=${RANLIB-"ranlib"} |
| 98 | prefix=${prefix-/usr/local} |
| 99 | exec_prefix=${exec_prefix-'${prefix}'} |
| 100 | @@ -73,32 +73,9 @@ esac |
| 101 | |
| 102 | if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then |
| 103 | CC="$cc" |
| 104 | - SFLAGS=${CFLAGS-"-fPIC -O3"} |
| 105 | + SFLAGS=${CFLAGS-"-D_REENTRANT -fPIC -O3"} |
| 106 | CFLAGS="$cflags" |
| 107 | - case `(uname -s || echo unknown) 2>/dev/null` in |
| 108 | - Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"};; |
| 109 | - CYGWIN* | Cygwin* | cygwin* | OS/2* ) |
| 110 | - EXE='.exe';; |
| 111 | - QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4 |
| 112 | - # (alain.bonnefoy@icbt.com) |
| 113 | - LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"};; |
| 114 | - HP-UX*) |
| 115 | - LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"} |
| 116 | - case `(uname -m || echo unknown) 2>/dev/null` in |
| 117 | - ia64) |
| 118 | - shared_ext='.so' |
| 119 | - SHAREDLIB='libz.so';; |
| 120 | - *) |
| 121 | - shared_ext='.sl' |
| 122 | - SHAREDLIB='libz.sl';; |
| 123 | - esac;; |
| 124 | - Darwin*) shared_ext='.dylib' |
| 125 | - SHAREDLIB=libz$shared_ext |
| 126 | - SHAREDLIBV=libz.$VER$shared_ext |
| 127 | - SHAREDLIBM=libz.$VER1$shared_ext |
| 128 | - LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER"};; |
| 129 | - *) LDSHARED=${LDSHARED-"$cc -shared"};; |
| 130 | - esac |
| 131 | + LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"} |
| 132 | else |
| 133 | # find system name and corresponding cc options |
| 134 | CC=${CC-cc} |
| 135 | @@ -424,6 +401,29 @@ else |
| 136 | echo Checking for mmap support... No. |
| 137 | fi |
| 138 | |
| 139 | +cat > $test.c <<EOF |
| 140 | +#include <stdio.h> |
| 141 | +int main() { char buf[10]; snprintf(buf, sizeof(buf), "%s", "F"); return 0; } |
| 142 | +EOF |
| 143 | +if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then |
| 144 | + echo "Checking for snprintf... Yes." |
| 145 | + CFLAGS="$CFLAGS -DHAS_snprintf" |
| 146 | +else |
| 147 | + echo "Checking for snprintf.. No." |
| 148 | +fi |
| 149 | + |
| 150 | +cat > $test.c <<EOF |
| 151 | +#include <stdio.h> |
| 152 | +#include <stdarg.h> |
| 153 | +int main(void) { va_list a; vsnprintf(0, 0, "", a); return 0; } |
| 154 | +EOF |
| 155 | +if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then |
| 156 | + echo "Checking for vsnprintf... Yes." |
| 157 | + CFLAGS="$CFLAGS -DHAS_vsnprintf" |
| 158 | +else |
| 159 | + echo "Checking for vsnprintf.. No." |
| 160 | +fi |
| 161 | + |
| 162 | CPP=${CPP-"$CC -E"} |
| 163 | case $CFLAGS in |
| 164 | *ASMV*) |
| 165 | @@ -440,20 +440,21 @@ rm -f $test.[co] $test $test$shared_ext |
| 166 | # udpate Makefile |
| 167 | sed < Makefile.in " |
| 168 | /^CC *=/s#=.*#=$CC# |
| 169 | -/^CFLAGS *=/s#=.*#=$CFLAGS# |
| 170 | -/^CPP *=/s#=.*#=$CPP# |
| 171 | -/^LDSHARED *=/s#=.*#=$LDSHARED# |
| 172 | -/^LIBS *=/s#=.*#=$LIBS# |
| 173 | -/^SHAREDLIB *=/s#=.*#=$SHAREDLIB# |
| 174 | -/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV# |
| 175 | -/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM# |
| 176 | -/^AR *=/s#=.*#=$AR# |
| 177 | -/^RANLIB *=/s#=.*#=$RANLIB# |
| 178 | -/^EXE *=/s#=.*#=$EXE# |
| 179 | -/^prefix *=/s#=.*#=$prefix# |
| 180 | -/^exec_prefix *=/s#=.*#=$exec_prefix# |
| 181 | -/^libdir *=/s#=.*#=$libdir# |
| 182 | -/^includedir *=/s#=.*#=$includedir# |
| 183 | -/^mandir *=/s#=.*#=$mandir# |
| 184 | -/^LDFLAGS *=/s#=.*#=$LDFLAGS# |
| 185 | +/^CC *=/s%=.*%= $CC% |
| 186 | +/^CFLAGS *=/s%=.*%= $CFLAGS% |
| 187 | +/^CPP *=/s%=.*%= $CPP% |
| 188 | +/^LDSHARED *=/s%=.*%= $LDSHARED% |
| 189 | +/^LIBS *=/s%=.*%= $LIBS% |
| 190 | +/^SHAREDLIB *=/s%=.*%= $SHAREDLIB% |
| 191 | +/^SHAREDLIBV *=/s%=.*%= $SHAREDLIBV% |
| 192 | +/^SHAREDLIBM *=/s%=.*%= $SHAREDLIBM% |
| 193 | +/^AR *=/s%=.*%= $AR% |
| 194 | +/^RANLIB *=/s%=.*%= $RANLIB% |
| 195 | +/^EXE *=/s%=.*%= $EXE% |
| 196 | +/^prefix *=/s%=.*%= $prefix% |
| 197 | +/^exec_prefix *=/s%=.*%= $exec_prefix% |
| 198 | +/^libdir *=/s%=.*%= $libdir% |
| 199 | +/^includedir *=/s%=.*%= $includedir% |
| 200 | +/^mandir *=/s%=.*%= $mandir% |
| 201 | +/^LDFLAGS *=/s%=.*%= $LDFLAGS% |
| 202 | " > Makefile |
| 203 | --- a/contrib/minizip/Makefile |
| 204 | +++ b/contrib/minizip/Makefile |
| 205 | @@ -1,8 +1,8 @@ |
| 206 | CC=cc |
| 207 | -CFLAGS=-O -I../.. |
| 208 | +CFLAGS=-O2 -g -I../.. -Dunix |
| 209 | |
| 210 | -UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a |
| 211 | -ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a |
| 212 | +UNZ_OBJS = miniunz.o unzip.o ioapi.o |
| 213 | +ZIP_OBJS = minizip.o zip.o ioapi.o |
| 214 | |
| 215 | .c.o: |
| 216 | $(CC) -c $(CFLAGS) $*.c |
| 217 | @@ -10,10 +10,10 @@ ZIP_OBJS = minizip.o zip.o ioapi.o ../ |
| 218 | all: miniunz minizip |
| 219 | |
| 220 | miniunz: $(UNZ_OBJS) |
| 221 | - $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) |
| 222 | + $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) -L ../.. -lz |
| 223 | |
| 224 | minizip: $(ZIP_OBJS) |
| 225 | - $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) |
| 226 | + $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) -L ../.. -lz |
| 227 | |
| 228 | test: miniunz minizip |
| 229 | ./minizip test readme.txt |
| 230 | |