Compare commits

..

3 Commits

Author SHA1 Message Date
Mark Adler
a7d70663cf zlib 1.2.4.4 2011-09-09 23:34:45 -07:00
Mark Adler
f4498bea28 zlib 1.2.4.3 2011-09-09 23:34:38 -07:00
Mark Adler
7147f24cd7 zlib 1.2.4.2 2011-09-09 23:34:30 -07:00
39 changed files with 342 additions and 208 deletions

View File

@@ -1,6 +1,45 @@
ChangeLog file for zlib ChangeLog file for zlib
Changes in 1.2.4.4 (18 Apr 2010)
- Fix CROSS_PREFIX executable testing, CHOST extract, mingw* [T<>r<EFBFBD>k]
- Undefine _LARGEFILE64_SOURCE in zconf.h if it is zero, but not if empty
- Try to use bash or ksh regardless of functionality of /bin/sh
- Fix configure incompatibility with NetBSD sh
- Remove attempt to run under bash or ksh since have better NetBSD fix
- Fix win32/Makefile.gcc for MinGW [Bar-Lev]
- Add diagnostic messages when using CROSS_PREFIX in configure
- Added --sharedlibdir option to configure [Weigelt]
- Use hidden visibility attribute when available [Frysinger]
Changes in 1.2.4.3 (10 Apr 2010)
- Only use CROSS_PREFIX in configure for ar and ranlib if they exist
- Use CROSS_PREFIX for nm [Bar-Lev]
- Assume _LARGEFILE64_SOURCE defined is equivalent to true
- Avoid use of undefined symbols in #if with && and ||
- Make *64 prototypes in gzguts.h consistent with functions
- Add -shared load option for MinGW in configure [Bowler]
- Move z_off64_t to public interface, use instead of off64_t
- Remove ! from shell test in configure (not portable to Solaris)
- Change +0 macro tests to -0 for possibly increased portability
Changes in 1.2.4.2 (9 Apr 2010)
- Add consistent carriage returns to readme.txt's in masmx86 and masmx64
- Really provide prototypes for *64 functions when building without LFS
- Only define unlink() in minigzip.c if unistd.h not included
- Update README to point to contrib/vstudio project files
- Move projects/vc6 to old/ and remove projects/
- Include stdlib.h in minigzip.c for setmode() definition under WinCE
- Clean up assembler builds in win32/Makefile.msc [Rowe]
- Include sys/types.h for Microsoft for off_t definition
- Fix memory leak on error in gz_open()
- Symbolize nm as $NM in configure [Weigelt]
- Use TEST_LDSHARED instead of LDSHARED to link test programs [Weigelt]
- Add +0 to _FILE_OFFSET_BITS and _LFS64_LARGEFILE in case not defined
- Fix bug in gzeof() to take into account unused input data
- Avoid initialization of structures with variables in puff.c
- Updated win32/README-WIN32.txt [Rowe]
Changes in 1.2.4.1 (28 Mar 2010) Changes in 1.2.4.1 (28 Mar 2010)
- Remove the use of [a-z] constructs for sed in configure [gentoo 310225] - Remove the use of [a-z] constructs for sed in configure [gentoo 310225]
- Remove $(SHAREDLIB) from LIBS in Makefile.in [Creech] - Remove $(SHAREDLIB) from LIBS in Makefile.in [Creech]

1
INDEX
View File

@@ -22,7 +22,6 @@ msdos/ makefiles for MSDOS
nintendods/ makefile for Nintendo DS nintendods/ makefile for Nintendo DS
old/ makefiles for various architectures and zlib documentation old/ makefiles for various architectures and zlib documentation
files that have not yet been updated for zlib 1.2.x files that have not yet been updated for zlib 1.2.x
projects/ projects for various Integrated Development Environments
qnx/ makefiles for QNX qnx/ makefiles for QNX
watcom/ makefiles for OpenWatcom watcom/ makefiles for OpenWatcom
win32/ makefiles for Windows win32/ makefiles for Windows

View File

@@ -26,13 +26,13 @@ CFLAGS=-O
SFLAGS=-O SFLAGS=-O
LDFLAGS=-L. libz.a TEST_LDFLAGS=-L. libz.a
LDSHARED=$(CC) LDSHARED=$(CC)
CPP=$(CC) -E CPP=$(CC) -E
STATICLIB=libz.a STATICLIB=libz.a
SHAREDLIB=libz.so SHAREDLIB=libz.so
SHAREDLIBV=libz.so.1.2.4.1 SHAREDLIBV=libz.so.1.2.4.4
SHAREDLIBM=libz.so.1 SHAREDLIBM=libz.so.1
LIBS=$(STATICLIB) $(SHAREDLIBV) LIBS=$(STATICLIB) $(SHAREDLIBV)
@@ -47,6 +47,7 @@ EXE=
prefix = /usr/local prefix = /usr/local
exec_prefix = ${prefix} exec_prefix = ${prefix}
libdir = ${exec_prefix}/lib libdir = ${exec_prefix}/lib
sharedlibdir = ${libdir}
includedir = ${prefix}/include includedir = ${prefix}/include
mandir = ${prefix}/share/man mandir = ${prefix}/share/man
man3dir = ${mandir}/man3 man3dir = ${mandir}/man3
@@ -136,17 +137,17 @@ minigzip64.o: minigzip.c zlib.h zconf.h
-@mv objs/$*.o $@ -@mv objs/$*.o $@
$(SHAREDLIBV): $(PIC_OBJS) $(SHAREDLIBV): $(PIC_OBJS)
$(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
rm -f $(SHAREDLIB) $(SHAREDLIBM) rm -f $(SHAREDLIB) $(SHAREDLIBM)
ln -s $@ $(SHAREDLIB) ln -s $@ $(SHAREDLIB)
ln -s $@ $(SHAREDLIBM) ln -s $@ $(SHAREDLIBM)
-@rmdir objs -@rmdir objs
example$(EXE): example.o $(STATICLIB) example$(EXE): example.o $(STATICLIB)
$(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
minigzip$(EXE): minigzip.o $(STATICLIB) minigzip$(EXE): minigzip.o $(STATICLIB)
$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
examplesh$(EXE): example.o $(SHAREDLIBV) examplesh$(EXE): example.o $(SHAREDLIBV)
$(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV) $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
@@ -155,20 +156,22 @@ minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
$(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV) $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
example64$(EXE): example64.o $(STATICLIB) example64$(EXE): example64.o $(STATICLIB)
$(CC) $(CFLAGS) -o $@ example64.o $(LDFLAGS) $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
minigzip64$(EXE): minigzip64.o $(STATICLIB) minigzip64$(EXE): minigzip64.o $(STATICLIB)
$(CC) $(CFLAGS) -o $@ minigzip64.o $(LDFLAGS) $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
install-libs: $(LIBS) install-libs: $(LIBS)
-@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi -@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)$(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)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
-@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi -@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
cp $(LIBS) $(DESTDIR)$(libdir) cp $(STATICLIB) $(DESTDIR)$(libdir)
cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)
cd $(DESTDIR)$(libdir); chmod u=rw,go=r $(STATICLIB) cd $(DESTDIR)$(libdir); chmod u=rw,go=r $(STATICLIB)
-@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1 -@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1
-@cd $(DESTDIR)$(libdir); if test "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \ -@cd $(DESTDIR)$(sharedlibdir); if test "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \
chmod 755 $(SHAREDLIBV); \ chmod 755 $(SHAREDLIBV); \
rm -f $(SHAREDLIB) $(SHAREDLIBM); \ rm -f $(SHAREDLIB) $(SHAREDLIBM); \
ln -s $(SHAREDLIBV) $(SHAREDLIB); \ ln -s $(SHAREDLIBV) $(SHAREDLIB); \

7
README
View File

@@ -1,6 +1,6 @@
ZLIB DATA COMPRESSION LIBRARY ZLIB DATA COMPRESSION LIBRARY
zlib 1.2.4.1 is a general purpose data compression library. All the code is zlib 1.2.4.4 is a general purpose data compression library. All the code is
thread safe. The data format used by the zlib library is described by RFCs thread safe. The data format used by the zlib library is described by RFCs
(Request for Comments) 1950 to 1952 in the files (Request for Comments) 1950 to 1952 in the files
http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format) http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
@@ -16,7 +16,8 @@ minigzip.c.
To compile all files and run the test program, follow the instructions given at To compile all files and run the test program, follow the instructions given at
the top of Makefile.in. In short "./configure; make test", and if that goes the top of Makefile.in. In short "./configure; make test", and if that goes
well, "make install" should work for most flavors of Unix. For Windows, use one well, "make install" should work for most flavors of Unix. For Windows, use one
of the special makefiles in win32/ or projects/ . For VMS, use make_vms.com. of the special makefiles in win32/ or contrib/vstudio/ . For VMS, use
make_vms.com.
Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
<info@winimage.com> for the Windows DLL version. The zlib home page is <info@winimage.com> for the Windows DLL version. The zlib home page is
@@ -30,7 +31,7 @@ Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
issue of Dr. Dobb's Journal; a copy of the article is available at issue of Dr. Dobb's Journal; a copy of the article is available at
http://marknelson.us/1997/01/01/zlib-engine/ . http://marknelson.us/1997/01/01/zlib-engine/ .
The changes made in version 1.2.4.1 are documented in the file ChangeLog. The changes made in version 1.2.4.4 are documented in the file ChangeLog.
Unsupported third party contributions are provided in directory contrib/ . Unsupported third party contributions are provided in directory contrib/ .

77
configure vendored
View File

@@ -13,26 +13,8 @@
# If you have problems, try without defining CC and CFLAGS before reporting # If you have problems, try without defining CC and CFLAGS before reporting
# an error. # an error.
# make sure we are running under a compatible shell (stolen from ffmpeg and libnfo)
if test "0$ZLIB_CONFIGURE_EXEC" -lt 1; then
unset foo
(: ${foo%%bar}) 2>/dev/null && ! (: ${foo?}) 2>/dev/null
if test "$?" -ne 0; then
ZLIB_CONFIGURE_EXEC=1
export ZLIB_CONFIGURE_EXEC
type "bash" > /dev/null 2>&1 && exec bash "$0" "$@"
type "ksh" > /dev/null 2>&1 && exec ksh "$0" "$@"
if test -x /usr/xpg4/bin/sh; then
exec /usr/xpg4/bin/sh "$0" "$@"
fi
# echo "No compatible shell script interpreter found."
# exit 1
# we could give up here, but go ahead and give their old sh a try
fi
fi
if [ -n "${CHOST}" ]; then if [ -n "${CHOST}" ]; then
uname="$(echo "${CHOST}" | sed 's/.*-.*-\(.*\)-.*/\1/')" uname="$(echo "${CHOST}" | sed -e 's/.*-.*-\(.*\)-.*$/\1/' -e 's/.*-\(.*\)-.*/\1/' -e 's/.*-\(.*\)$/\1/')"
CROSS_PREFIX="${CHOST}-" CROSS_PREFIX="${CHOST}-"
fi fi
@@ -42,11 +24,28 @@ VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
VER3=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\\.[0-9]*\).*/\1/p' < zlib.h` VER3=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\\.[0-9]*\).*/\1/p' < zlib.h`
VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h` VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h` VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
AR=${AR-"${CROSS_PREFIX}ar"} if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
AR=${AR-"${CROSS_PREFIX}ar"}
test -n "${CROSS_PREFIX}" && echo Using ${AR}
else
AR=${AR-"ar"}
test -n "${CROSS_PREFIX}" && echo Using ${AR}
fi
AR_RC="${AR} rc" AR_RC="${AR} rc"
RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"} if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then
RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"}
test -n "${CROSS_PREFIX}" && echo Using ${RANLIB}
else
RANLIB=${RANLIB-"ranlib"}
fi
if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then
NM=${NM-"${CROSS_PREFIX}nm"}
test -n "${CROSS_PREFIX}" && echo Using ${NM}
else
NM=${NM-"nm"}
fi
LDCONFIG=${LDCONFIG-"ldconfig"} LDCONFIG=${LDCONFIG-"ldconfig"}
LDSHAREDLIBC="${LDSHAREDLIBC-"-lc"}" LDSHAREDLIBC="${LDSHAREDLIBC--lc}"
prefix=${prefix-/usr/local} prefix=${prefix-/usr/local}
exec_prefix=${exec_prefix-'${prefix}'} exec_prefix=${exec_prefix-'${prefix}'}
libdir=${libdir-'${exec_prefix}/lib'} libdir=${libdir-'${exec_prefix}/lib'}
@@ -66,11 +65,13 @@ case "$1" in
-h* | --help) -h* | --help)
echo 'usage:' echo 'usage:'
echo ' configure [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]' echo ' configure [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]'
echo ' [--static] [--64] [--libdir=LIBDIR] [--includedir=INCLUDEDIR]' echo ' [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]'
echo ' [--includedir=INCLUDEDIR]'
exit 0 ;; exit 0 ;;
-p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;; -p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;;
-e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;; -e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;;
-l*=* | --libdir=*) libdir=`echo $1 | sed 's/.*=//'`; shift ;; -l*=* | --libdir=*) libdir=`echo $1 | sed 's/.*=//'`; shift ;;
--sharedlibdir=*) sharedlibdir=`echo $1 | sed 's/.*=//'`; shift ;;
-i*=* | --includedir=*) includedir=`echo $1 | sed 's/.*=//'`;shift ;; -i*=* | --includedir=*) includedir=`echo $1 | sed 's/.*=//'`;shift ;;
-u*=* | --uname=*) uname=`echo $1 | sed 's/.*=//'`;shift ;; -u*=* | --uname=*) uname=`echo $1 | sed 's/.*=//'`;shift ;;
-p* | --prefix) prefix="$2"; shift; shift ;; -p* | --prefix) prefix="$2"; shift; shift ;;
@@ -93,7 +94,7 @@ extern int getchar();
int hello() {return getchar();} int hello() {return getchar();}
EOF EOF
test -z "$CC" && echo Checking for gcc... test -z "$CC" && echo Checking for ${CROSS_PREFIX}gcc...
cc=${CC-${CROSS_PREFIX}gcc} cc=${CC-${CROSS_PREFIX}gcc}
cflags=${CFLAGS-"-O3"} cflags=${CFLAGS-"-O3"}
# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
@@ -103,8 +104,8 @@ esac
if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
CC="$cc" CC="$cc"
SFLAGS="${CFLAGS-"-O3"} -fPIC" SFLAGS="${CFLAGS--O3} -fPIC"
CFLAGS="${CFLAGS-"-O3"}" CFLAGS="${CFLAGS--O3}"
if test $build64 -eq 1; then if test $build64 -eq 1; then
CFLAGS="${CFLAGS} -m64" CFLAGS="${CFLAGS} -m64"
SFLAGS="${SFLAGS} -m64" SFLAGS="${SFLAGS} -m64"
@@ -119,7 +120,8 @@ if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
Linux* | linux* | GNU | GNU/* | *BSD | DragonFly) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;; Linux* | linux* | GNU | GNU/* | *BSD | DragonFly) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
CYGWIN* | Cygwin* | cygwin* | OS/2*) CYGWIN* | Cygwin* | cygwin* | OS/2*)
EXE='.exe' ;; EXE='.exe' ;;
MINGW*) MINGW*|mingw*)
LDSHARED=${LDSHARED-"$cc -shared"}
LDSHAREDLIBC="" LDSHAREDLIBC=""
EXE='.exe' ;; EXE='.exe' ;;
QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4 QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
@@ -502,10 +504,27 @@ EOF
fi fi
fi fi
cat > $test.c <<EOF
int foo __attribute__ ((visibility ("hidden")));
int main()
{
return 0;
}
EOF
if test "`($CC -c -fvisibility=hidden $CFLAGS $test.c) 2>&1`" = ""; then
CFLAGS="$CFLAGS -fvisibility=hidden"
SFLAGS="$SFLAGS -fvisibility=hidden"
echo "Checking for attribute(visibility) support... Yes."
else
CFLAGS="$CFLAGS -DNO_VIZ"
SFLAGS="$SFLAGS -DNO_VIZ"
echo "Checking for attribute(visibility) support... No."
fi
CPP=${CPP-"$CC -E"} CPP=${CPP-"$CC -E"}
case $CFLAGS in case $CFLAGS in
*ASMV*) *ASMV*)
if test "`nm $test.o | grep _hello`" = ""; then if test "`$NM $test.o | grep _hello`" = ""; then
CPP="$CPP -DNO_UNDERLINE" CPP="$CPP -DNO_UNDERLINE"
echo Checking for underline in external names... No. echo Checking for underline in external names... No.
else else
@@ -535,6 +554,7 @@ sed < Makefile.in "
/^prefix *=/s#=.*#=$prefix# /^prefix *=/s#=.*#=$prefix#
/^exec_prefix *=/s#=.*#=$exec_prefix# /^exec_prefix *=/s#=.*#=$exec_prefix#
/^libdir *=/s#=.*#=$libdir# /^libdir *=/s#=.*#=$libdir#
/^sharedlibdir *=/s#=.*#=$sharedlibdir#
/^includedir *=/s#=.*#=$includedir# /^includedir *=/s#=.*#=$includedir#
/^mandir *=/s#=.*#=$mandir# /^mandir *=/s#=.*#=$mandir#
/^all: */s#:.*#: $ALL# /^all: */s#:.*#: $ALL#
@@ -556,6 +576,7 @@ sed < zlib.pc.in "
/^prefix *=/s#=.*#=$prefix# /^prefix *=/s#=.*#=$prefix#
/^exec_prefix *=/s#=.*#=$exec_prefix# /^exec_prefix *=/s#=.*#=$exec_prefix#
/^libdir *=/s#=.*#=$libdir# /^libdir *=/s#=.*#=$libdir#
/^sharedlibdir *=/s#=.*#=$sharedlibdir#
/^includedir *=/s#=.*#=$includedir# /^includedir *=/s#=.*#=$includedir#
/^mandir *=/s#=.*#=$mandir# /^mandir *=/s#=.*#=$mandir#
/^LDFLAGS *=/s#=.*#=$LDFLAGS# /^LDFLAGS *=/s#=.*#=$LDFLAGS#

View File

@@ -152,7 +152,7 @@ procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
const OutBuf: Pointer; BufSize: Integer); const OutBuf: Pointer; BufSize: Integer);
const const
zlib_version = '1.2.4.1'; zlib_version = '1.2.4.4';
type type
EZlibError = class(Exception); EZlibError = class(Exception);

View File

@@ -156,7 +156,7 @@ namespace DotZLibTests
public void Info_Version() public void Info_Version()
{ {
Info info = new Info(); Info info = new Info();
Assert.AreEqual("1.2.4.1", Info.Version); Assert.AreEqual("1.2.4.4", Info.Version);
Assert.AreEqual(32, info.SizeOfUInt); Assert.AreEqual(32, info.SizeOfUInt);
Assert.AreEqual(32, info.SizeOfULong); Assert.AreEqual(32, info.SizeOfULong);
Assert.AreEqual(32, info.SizeOfPointer); Assert.AreEqual(32, info.SizeOfPointer);
@@ -271,4 +271,4 @@ namespace DotZLibTests
} }
} }
#endif #endif

View File

@@ -9,7 +9,7 @@
#define MAXBITS 15 #define MAXBITS 15
const char inflate9_copyright[] = const char inflate9_copyright[] =
" inflate9 1.2.4.1 Copyright 1995-2010 Mark Adler "; " inflate9 1.2.4.4 Copyright 1995-2010 Mark Adler ";
/* /*
If you use the zlib library in a product, an acknowledgment is welcome If you use the zlib library in a product, an acknowledgment is welcome
in the documentation of your product. If for some reason you cannot in the documentation of your product. If for some reason you cannot
@@ -64,7 +64,7 @@ unsigned short FAR *work;
static const unsigned short lext[31] = { /* Length codes 257..285 extra */ static const unsigned short lext[31] = { /* Length codes 257..285 extra */
128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132, 130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
133, 133, 133, 133, 144, 67, 206}; 133, 133, 133, 133, 144, 74, 65};
static const unsigned short dbase[32] = { /* Distance codes 0..31 base */ static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,

View File

@@ -12,10 +12,10 @@ inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing
Use instructions Use instructions
---------------- ----------------
Assemble the .asm files using MASM and put the object files into the zlib source Assemble the .asm files using MASM and put the object files into the zlib source
directory. You can also get object files here: directory. You can also get object files here:
http://www.winimage.com/zLibDll/zlib124_masm_obj.zip http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
define ASMV and ASMINF in your project. Include inffas8664.c in your source tree, define ASMV and ASMINF in your project. Include inffas8664.c in your source tree,
and inffasx64.obj and gvmat64.obj as object to link. and inffasx64.obj and gvmat64.obj as object to link.

View File

@@ -1,27 +1,27 @@
Summary Summary
------- -------
This directory contains ASM implementations of the functions This directory contains ASM implementations of the functions
longest_match() and inflate_fast(). longest_match() and inflate_fast().
Use instructions Use instructions
---------------- ----------------
Assemble using MASM, and copy the object files into the zlib source Assemble using MASM, and copy the object files into the zlib source
directory, then run the appropriate makefile, as suggested below. You can directory, then run the appropriate makefile, as suggested below. You can
donwload MASM from here: donwload MASM from here:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64 http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
You can also get objects files here: You can also get objects files here:
http://www.winimage.com/zLibDll/zlib124_masm_obj.zip http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
Build instructions Build instructions
------------------ ------------------
* With Microsoft C and MASM: * With Microsoft C and MASM:
nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj"
* With Borland C and TASM: * With Borland C and TASM:
make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj" make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj"

View File

@@ -10,7 +10,7 @@ unit zlibpas;
interface interface
const const
ZLIB_VERSION = '1.2.4.1'; ZLIB_VERSION = '1.2.4.4';
type type
alloc_func = function(opaque: Pointer; items, size: Integer): Pointer; alloc_func = function(opaque: Pointer; items, size: Integer): Pointer;

View File

@@ -1,8 +1,8 @@
/* /*
* puff.c * puff.c
* Copyright (C) 2002-2008 Mark Adler * Copyright (C) 2002-2010 Mark Adler
* For conditions of distribution and use, see copyright notice in puff.h * For conditions of distribution and use, see copyright notice in puff.h
* version 2.0, 25 Jul 2008 * version 2.1, 4 Apr 2010
* *
* puff.c is a simple inflate written to be an unambiguous way to specify the * puff.c is a simple inflate written to be an unambiguous way to specify the
* deflate format. It is not written for speed but rather simplicity. As a * deflate format. It is not written for speed but rather simplicity. As a
@@ -67,6 +67,8 @@
* - Add option in TEST code for puff to write the data * - Add option in TEST code for puff to write the data
* - Add option in TEST code to skip input bytes * - Add option in TEST code to skip input bytes
* - Allow TEST code to read from piped stdin * - Allow TEST code to read from piped stdin
* 2.1 4 Apr 2010 - Avoid variable initialization for happier compilers
* - Avoid unsigned comparisons for even happier compilers
*/ */
#include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */ #include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
@@ -516,8 +518,7 @@ local int fixed(struct state *s)
static int virgin = 1; static int virgin = 1;
static short lencnt[MAXBITS+1], lensym[FIXLCODES]; static short lencnt[MAXBITS+1], lensym[FIXLCODES];
static short distcnt[MAXBITS+1], distsym[MAXDCODES]; static short distcnt[MAXBITS+1], distsym[MAXDCODES];
static struct huffman lencode = {lencnt, lensym}; static struct huffman lencode, distcode;
static struct huffman distcode = {distcnt, distsym};
/* build fixed huffman tables if first call (may not be thread safe) */ /* build fixed huffman tables if first call (may not be thread safe) */
if (virgin) { if (virgin) {
@@ -540,6 +541,12 @@ local int fixed(struct state *s)
lengths[symbol] = 5; lengths[symbol] = 5;
construct(&distcode, lengths, MAXDCODES); construct(&distcode, lengths, MAXDCODES);
/* construct lencode and distcode */
lencode.count = lencnt;
lencode.symbol = lensym;
distcode.count = distcnt;
distcode.symbol = distsym;
/* do this just once */ /* do this just once */
virgin = 0; virgin = 0;
} }
@@ -643,11 +650,16 @@ local int dynamic(struct state *s)
short lengths[MAXCODES]; /* descriptor code lengths */ short lengths[MAXCODES]; /* descriptor code lengths */
short lencnt[MAXBITS+1], lensym[MAXLCODES]; /* lencode memory */ short lencnt[MAXBITS+1], lensym[MAXLCODES]; /* lencode memory */
short distcnt[MAXBITS+1], distsym[MAXDCODES]; /* distcode memory */ short distcnt[MAXBITS+1], distsym[MAXDCODES]; /* distcode memory */
struct huffman lencode = {lencnt, lensym}; /* length code */ struct huffman lencode, distcode; /* length and distance codes */
struct huffman distcode = {distcnt, distsym}; /* distance code */
static const short order[19] = /* permutation of code length codes */ static const short order[19] = /* permutation of code length codes */
{16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
/* construct lencode and distcode */
lencode.count = lencnt;
lencode.symbol = lensym;
distcode.count = distcnt;
distcode.symbol = distsym;
/* get number of lengths in each table, check lengths */ /* get number of lengths in each table, check lengths */
nlen = bits(s, 5) + 257; nlen = bits(s, 5) + 257;
ndist = bits(s, 5) + 1; ndist = bits(s, 5) + 1;
@@ -869,7 +881,8 @@ local void *load(char *name, size_t *len)
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int ret, skip = 0, put = 0; int ret, put = 0;
unsigned skip = 0;
char *arg, *name = NULL; char *arg, *name = NULL;
unsigned char *source = NULL, *dest; unsigned char *source = NULL, *dest;
size_t len = 0; size_t len = 0;
@@ -881,7 +894,7 @@ int main(int argc, char **argv)
if (arg[1] == 'w' && arg[2] == 0) if (arg[1] == 'w' && arg[2] == 0)
put = 1; put = 1;
else if (arg[1] >= '0' && arg[1] <= '9') else if (arg[1] >= '0' && arg[1] <= '9')
skip = atoi(arg + 1); skip = (unsigned)atoi(arg + 1);
else { else {
fprintf(stderr, "invalid option %s\n", arg); fprintf(stderr, "invalid option %s\n", arg);
return 3; return 3;

View File

@@ -1,6 +1,6 @@
/* puff.h /* puff.h
Copyright (C) 2002-2008 Mark Adler, all rights reserved Copyright (C) 2002-2010 Mark Adler, all rights reserved
version 1.9, 10 Jan 2008 version 2.1, 4 Apr 2010
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the author be held liable for any damages warranty. In no event will the author be held liable for any damages

View File

@@ -2,8 +2,8 @@
#define IDR_VERSION1 1 #define IDR_VERSION1 1
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
FILEVERSION 1,2,4,1 FILEVERSION 1,2,4,4
PRODUCTVERSION 1,2,4,1 PRODUCTVERSION 1,2,4,4
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS 0 FILEFLAGS 0
FILEOS VOS_DOS_WINDOWS32 FILEOS VOS_DOS_WINDOWS32
@@ -17,7 +17,7 @@ BEGIN
BEGIN BEGIN
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
VALUE "FileVersion", "1.2.4.1\0" VALUE "FileVersion", "1.2.4.4\0"
VALUE "InternalName", "zlib\0" VALUE "InternalName", "zlib\0"
VALUE "OriginalFilename", "zlib.dll\0" VALUE "OriginalFilename", "zlib.dll\0"
VALUE "ProductName", "ZLib.DLL\0" VALUE "ProductName", "ZLib.DLL\0"

View File

@@ -2,8 +2,8 @@
#define IDR_VERSION1 1 #define IDR_VERSION1 1
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
FILEVERSION 1,2,4,1 FILEVERSION 1,2,4,4
PRODUCTVERSION 1,2,4,1 PRODUCTVERSION 1,2,4,4
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS 0 FILEFLAGS 0
FILEOS VOS_DOS_WINDOWS32 FILEOS VOS_DOS_WINDOWS32
@@ -17,7 +17,7 @@ BEGIN
BEGIN BEGIN
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
VALUE "FileVersion", "1.2.4.1\0" VALUE "FileVersion", "1.2.4.4\0"
VALUE "InternalName", "zlib\0" VALUE "InternalName", "zlib\0"
VALUE "OriginalFilename", "zlib.dll\0" VALUE "OriginalFilename", "zlib.dll\0"
VALUE "ProductName", "ZLib.DLL\0" VALUE "ProductName", "ZLib.DLL\0"

View File

@@ -52,7 +52,7 @@
#include "deflate.h" #include "deflate.h"
const char deflate_copyright[] = const char deflate_copyright[] =
" deflate 1.2.4.1 Copyright 1995-2010 Jean-loup Gailly and Mark Adler "; " deflate 1.2.4.4 Copyright 1995-2010 Jean-loup Gailly and Mark Adler ";
/* /*
If you use the zlib library in a product, an acknowledgment is welcome If you use the zlib library in a product, an acknowledgment is welcome
in the documentation of your product. If for some reason you cannot in the documentation of your product. If for some reason you cannot

View File

@@ -3,7 +3,7 @@
* For conditions of distribution and use, see copyright notice in zlib.h * For conditions of distribution and use, see copyright notice in zlib.h
*/ */
#if _LARGEFILE64_SOURCE == 1 #ifdef _LARGEFILE64_SOURCE
# ifndef _LARGEFILE_SOURCE # ifndef _LARGEFILE_SOURCE
# define _LARGEFILE_SOURCE 1 # define _LARGEFILE_SOURCE 1
# endif # endif
@@ -56,10 +56,12 @@
# endif # endif
#endif #endif
#if _LARGEFILE64_SOURCE == 1 /* provide prototypes for these when building zlib without LFS */
# define z_off64_t off64_t #if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0
#else ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
# define z_off64_t z_off_t ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
#endif #endif
/* default i/o buffer size -- double this for output when reading */ /* default i/o buffer size -- double this for output when reading */

View File

@@ -5,7 +5,7 @@
#include "gzguts.h" #include "gzguts.h"
#if _LARGEFILE64_SOURCE == 1 && _LFS64_LARGEFILE == 1 #if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
# define LSEEK lseek64 # define LSEEK lseek64
#else #else
# define LSEEK lseek # define LSEEK lseek
@@ -172,6 +172,7 @@ local gzFile gz_open(path, fd, mode)
O_APPEND))), O_APPEND))),
0666); 0666);
if (state->fd == -1) { if (state->fd == -1) {
free(state->path);
free(state); free(state);
return NULL; return NULL;
} }
@@ -432,7 +433,8 @@ int ZEXPORT gzeof(file)
return 0; return 0;
/* return end-of-file state */ /* return end-of-file state */
return state->mode == GZ_READ ? (state->eof && state->have == 0) : 0; return state->mode == GZ_READ ?
(state->eof && state->strm.avail_in == 0 && state->have == 0) : 0;
} }
/* -- see zlib.h -- */ /* -- see zlib.h -- */

View File

@@ -9,7 +9,7 @@
#define MAXBITS 15 #define MAXBITS 15
const char inflate_copyright[] = const char inflate_copyright[] =
" inflate 1.2.4.1 Copyright 1995-2010 Mark Adler "; " inflate 1.2.4.4 Copyright 1995-2010 Mark Adler ";
/* /*
If you use the zlib library in a product, an acknowledgment is welcome If you use the zlib library in a product, an acknowledgment is welcome
in the documentation of your product. If for some reason you cannot in the documentation of your product. If for some reason you cannot
@@ -62,7 +62,7 @@ unsigned short FAR *work;
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
static const unsigned short lext[31] = { /* Length codes 257..285 extra */ static const unsigned short lext[31] = { /* Length codes 257..285 extra */
16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 67, 206}; 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 74, 65};
static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,

View File

@@ -32,6 +32,9 @@
#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__) #if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__)
# include <fcntl.h> # include <fcntl.h>
# include <io.h> # include <io.h>
# ifdef UNDER_CE
# include <stdlib.h>
# endif
# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) # define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
#else #else
# define SET_BINARY_MODE(file) # define SET_BINARY_MODE(file)
@@ -50,9 +53,11 @@
# include <unix.h> /* for fileno */ # include <unix.h> /* for fileno */
#endif #endif
#if !defined(Z_HAVE_UNISTD_H) && !defined(_LARGEFILE64_SOURCE)
#ifndef WIN32 /* unlink already in stdio.h for WIN32 */ #ifndef WIN32 /* unlink already in stdio.h for WIN32 */
extern int unlink OF((const char *)); extern int unlink OF((const char *));
#endif #endif
#endif
#if defined(UNDER_CE) #if defined(UNDER_CE)
# include <windows.h> # include <windows.h>

View File

@@ -1,41 +0,0 @@
This directory contains project files for building zlib under various
Integrated Development Environments (IDE).
If you wish to submit a new project to this directory, you should comply
to the following requirements. Otherwise (e.g. if you wish to integrate
a custom piece of code that changes the zlib interface or its behavior),
please consider submitting the project to the contrib directory.
Requirements
============
- The project must build zlib using the source files from the official
zlib source distribution, exclusively.
- If the project produces redistributable builds (e.g. shared objects
or DLL files), these builds must be compatible to those produced by
makefiles, if such makefiles exist in the zlib distribution.
In particular, if the project produces a DLL build for the Win32
platform, this build must comply to the officially-ammended Win32 DLL
Application Binary Interface (ABI), described in win32/DLL_FAQ.txt.
- The project may provide additional build targets, which depend on
3rd-party (unofficially-supported) software, present in the contrib
directory. For example, it is possible to provide an "ASM build",
besides the officially-supported build, and have ASM source files
among its dependencies.
- If there are significant differences between the project files created
by different versions of an IDE (e.g. Visual C++ 6.0 vs. 7.0), the name
of the project directory should contain the version number of the IDE
for which the project is intended (e.g. "visualc6" for Visual C++ 6.0,
or "visualc7" for Visual C++ 7.0 and 7.1).
Current projects
================
visualc6/ by Simon-Pierre Cadieux <methodex@methodex.ca>
and Cosmin Truta <cosmint@cs.ubbcluj.ro>
Project for Microsoft Visual C++ 6.0

View File

@@ -25,10 +25,10 @@
<QPG:Files> <QPG:Files>
<QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/> <QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
<QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/> <QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
<QPG:Add file="../libz.so.1.2.4.1" install="/opt/lib/" user="root:bin" permission="644"/> <QPG:Add file="../libz.so.1.2.4.4" install="/opt/lib/" user="root:bin" permission="644"/>
<QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.4.1"/> <QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.4.4"/>
<QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.4.1"/> <QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.4.4"/>
<QPG:Add file="../libz.so.1.2.4.1" install="/opt/lib/" component="slib"/> <QPG:Add file="../libz.so.1.2.4.4" install="/opt/lib/" component="slib"/>
</QPG:Files> </QPG:Files>
<QPG:PackageFilter> <QPG:PackageFilter>
@@ -63,7 +63,7 @@
</QPM:ProductDescription> </QPM:ProductDescription>
<QPM:ReleaseDescription> <QPM:ReleaseDescription>
<QPM:ReleaseVersion>1.2.4.1</QPM:ReleaseVersion> <QPM:ReleaseVersion>1.2.4.4</QPM:ReleaseVersion>
<QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency> <QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
<QPM:ReleaseStability>Stable</QPM:ReleaseStability> <QPM:ReleaseStability>Stable</QPM:ReleaseStability>
<QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor> <QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" ?> <?xml version="1.0" ?>
<package name="zlib" version="1.2.4.1"> <package name="zlib" version="1.2.4.4">
<library name="zlib" dlversion="1.2.4.1" dlname="z"> <library name="zlib" dlversion="1.2.4.4" dlname="z">
<property name="description"> zip compression library </property> <property name="description"> zip compression library </property>
<property name="include-target-dir" value="$(@PACKAGE/install-includedir)" /> <property name="include-target-dir" value="$(@PACKAGE/install-includedir)" />

View File

@@ -27,6 +27,11 @@ STATICLIB = libz.a
SHAREDLIB = zlib1.dll SHAREDLIB = zlib1.dll
IMPLIB = libzdll.a IMPLIB = libzdll.a
#
# Set to 1 if shared object needs to be installed
#
SHARED_MODE=0
#LOC = -DASMV #LOC = -DASMV
#LOC = -DDEBUG -g #LOC = -DDEBUG -g
@@ -38,7 +43,7 @@ AS = $(CC)
ASFLAGS = $(LOC) -Wall ASFLAGS = $(LOC) -Wall
LD = $(CC) LD = $(CC)
LDFLAGS = $(LOC) -s LDFLAGS = $(LOC)
AR = $(PREFIX)ar AR = $(PREFIX)ar
ARFLAGS = rcs ARFLAGS = rcs
@@ -82,43 +87,54 @@ $(STATICLIB): $(OBJS) $(OBJA)
$(IMPLIB): $(SHAREDLIB) $(IMPLIB): $(SHAREDLIB)
$(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlibrc.o $(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlibrc.o
$(CC) -shared -Wl,--out-implib,$(IMPLIB) \ $(CC) -shared -Wl,--out-implib,$(IMPLIB) $(LDFLAGS) \
-o $@ win32/zlib.def $(OBJS) $(OBJA) zlibrc.o -o $@ win32/zlib.def $(OBJS) $(OBJA) zlibrc.o
$(STRIP) $@ $(STRIP) $@
example.exe: example.o $(STATICLIB) example.exe: example.o $(STATICLIB)
$(LD) $(LDFLAGS) -o $@ example.o $(STATICLIB) $(LD) $(LDFLAGS) -o $@ example.o $(STATICLIB)
$(STRIP) $@
minigzip.exe: minigzip.o $(STATICLIB) minigzip.exe: minigzip.o $(STATICLIB)
$(LD) $(LDFLAGS) -o $@ minigzip.o $(STATICLIB) $(LD) $(LDFLAGS) -o $@ minigzip.o $(STATICLIB)
$(STRIP) $@
example_d.exe: example.o $(IMPLIB) example_d.exe: example.o $(IMPLIB)
$(LD) $(LDFLAGS) -o $@ example.o $(IMPLIB) $(LD) $(LDFLAGS) -o $@ example.o $(IMPLIB)
$(STRIP) $@
minigzip_d.exe: minigzip.o $(IMPLIB) minigzip_d.exe: minigzip.o $(IMPLIB)
$(LD) $(LDFLAGS) -o $@ minigzip.o $(IMPLIB) $(LD) $(LDFLAGS) -o $@ minigzip.o $(IMPLIB)
$(STRIP) $@
zlibrc.o: win32/zlib1.rc zlibrc.o: win32/zlib1.rc
$(RC) $(RCFLAGS) -o $@ win32/zlib1.rc $(RC) $(RCFLAGS) -o $@ win32/zlib1.rc
# INCLUDE_PATH and LIBRARY_PATH must be set. # BINARY_PATH, INCLUDE_PATH and LIBRARY_PATH must be set.
.PHONY: install uninstall clean .PHONY: install uninstall clean
install: zlib.h zconf.h $(LIB) install: zlib.h zconf.h $(STATICLIB) $(IMPLIB)
-if [ "$(SHARED_MODE)" = "1" ]; then \
mkdir -p $(BINARY_PATH); \
$(INSTALL) $(SHAREDLIB) $(BINARY_PATH); \
$(INSTALL) $(IMPLIB) $(LIBRARY_PATH); \
fi
-@mkdir -p $(INCLUDE_PATH) -@mkdir -p $(INCLUDE_PATH)
-@mkdir -p $(LIBRARY_PATH) -@mkdir -p $(LIBRARY_PATH)
-$(INSTALL) zlib.h $(INCLUDE_PATH) -$(INSTALL) zlib.h $(INCLUDE_PATH)
-$(INSTALL) zconf.h $(INCLUDE_PATH) -$(INSTALL) zconf.h $(INCLUDE_PATH)
-$(INSTALL) $(STATICLIB) $(LIBRARY_PATH) -$(INSTALL) $(STATICLIB) $(LIBRARY_PATH)
-$(INSTALL) $(IMPLIB) $(LIBRARY_PATH)
uninstall: uninstall:
-if [ "$(SHARED_MODE)" = "1" ]; then \
$(RM) $(BINARY_PATH)/$(SHAREDLIB); \
$(RM) $(LIBRARY_PATH)/$(IMPLIB); \
fi
-$(RM) $(INCLUDE_PATH)/zlib.h -$(RM) $(INCLUDE_PATH)/zlib.h
-$(RM) $(INCLUDE_PATH)/zconf.h -$(RM) $(INCLUDE_PATH)/zconf.h
-$(RM) $(LIBRARY_PATH)/$(STATICLIB) -$(RM) $(LIBRARY_PATH)/$(STATICLIB)
-$(RM) $(LIBRARY_PATH)/$(IMPLIB)
clean: clean:
-$(RM) $(STATICLIB) -$(RM) $(STATICLIB)

View File

@@ -2,15 +2,16 @@
# zlib is copyright (C) 1995-2006 Jean-loup Gailly and Mark Adler # zlib is copyright (C) 1995-2006 Jean-loup Gailly and Mark Adler
# #
# Usage: # Usage:
# nmake -f win32/Makefile.msc (standard build) # nmake -f win32/Makefile.msc (standard build)
# nmake -f win32/Makefile.msc LOC=-DFOO (nonstandard build) # nmake -f win32/Makefile.msc LOC=-DFOO (nonstandard build)
# nmake -f win32/Makefile.msc LOC=-DASMV OBJA=match.obj (use ASM code) # nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" \
# OBJA="inffas32.obj match686.obj" (use ASM code, x86)
# nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF" \
# OBJA="inffasx64.obj gvmat64.obj inffas8664.c" (use ASM code, x64)
# optional build flags # optional build flags
LOC = LOC =
# variables # variables
STATICLIB = zlib.lib STATICLIB = zlib.lib
SHAREDLIB = zlib1.dll SHAREDLIB = zlib1.dll
@@ -23,13 +24,13 @@ AR = lib
RC = rc RC = rc
CFLAGS = -nologo -MD -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC) CFLAGS = -nologo -MD -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC)
WFLAGS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE WFLAGS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
ASFLAGS = -coff -Zi ASFLAGS = -coff -Zi $(LOC)
LDFLAGS = -nologo -debug -incremental:no -opt:ref LDFLAGS = -nologo -debug -incremental:no -opt:ref
ARFLAGS = -nologo ARFLAGS = -nologo
RCFLAGS = /dWIN32 /r RCFLAGS = /dWIN32 /r
OBJS = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj \ OBJS = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj \
gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj gzwrite.obj infback.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj
OBJA = OBJA =
@@ -71,7 +72,13 @@ minigzip_d.exe: minigzip.obj $(IMPLIB)
.c.obj: .c.obj:
$(CC) -c $(WFLAGS) $(CFLAGS) $< $(CC) -c $(WFLAGS) $(CFLAGS) $<
.asm.obj: {contrib/masmx64}.c.obj:
$(CC) -c $(WFLAGS) $(CFLAGS) $<
{contrib/masmx64}.asm.obj:
$(AS) -c $(ASFLAGS) $<
{contrib/masmx86}.asm.obj:
$(AS) -c $(ASFLAGS) $< $(AS) -c $(ASFLAGS) $<
adler32.obj: adler32.c zlib.h zconf.h adler32.obj: adler32.c zlib.h zconf.h
@@ -107,6 +114,17 @@ uncompr.obj: uncompr.c zlib.h zconf.h
zutil.obj: zutil.c zutil.h zlib.h zconf.h zutil.obj: zutil.c zutil.h zlib.h zconf.h
gvmat64.obj: contrib\masmx64\gvmat64.asm
inffasx64.obj: contrib\masmx64\inffasx64.asm
inffas8664.obj: contrib\masmx64\inffas8664.c zutil.h zlib.h zconf.h \
inftrees.h inflate.h inffast.h
inffas32.obj: contrib\masmx86\inffas32.asm
match686.obj: contrib\masmx86\match686.asm
example.obj: example.c zlib.h zconf.h example.obj: example.c zlib.h zconf.h
minigzip.obj: minigzip.c zlib.h zconf.h minigzip.obj: minigzip.c zlib.h zconf.h

View File

@@ -47,9 +47,9 @@ The package zlib-1.2.4-win32-x86.zip contains the following files:
zdll.lib Install these files into the compilers' LIB path if linking zdll.lib Install these files into the compilers' LIB path if linking
zdll.exp a compiled program to the zlib1.dll binary zdll.exp a compiled program to the zlib1.dll binary
zlib.lib Install these files into the compilers' LIB path if linking zlib.lib Install these files into the compilers' LIB path to link zlib
zlib.pdb a compiled program to the zlib1.dll binary (zlib.pdb ensures zlib.pdb into compiled programs, without zlib1.dll runtime dependency
that the resulting program may be debugged) (zlib.pdb provides debugging info to the compile time linker)
zlib1.dll Install this binary shared library into the system PATH, or zlib1.dll Install this binary shared library into the system PATH, or
the program's runtime directory (where the .exe resides) the program's runtime directory (where the .exe resides)

23
zconf.h
View File

@@ -315,7 +315,7 @@
# endif # endif
#endif #endif
#ifdef HAVE_VISIBILITY_PRAGMA #ifndef NO_VIZ
# define ZEXTERN __attribute__((visibility ("default"))) extern # define ZEXTERN __attribute__((visibility ("default"))) extern
#endif #endif
@@ -364,8 +364,21 @@ typedef uLong FAR uLongf;
# define Z_HAVE_UNISTD_H # define Z_HAVE_UNISTD_H
#endif #endif
#if defined(Z_HAVE_UNISTD_H) || _LARGEFILE64_SOURCE == 1 #ifdef STDC
# include <sys/types.h> /* for off_t */ # include <sys/types.h> /* for off_t */
#endif
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
* though the former does not conform to the LFS document), but considering
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
* equivalently requesting no 64-bit operations
*/
#if -_LARGEFILE64_SOURCE - -1 == 1
# undef _LARGEFILE64_SOURCE
#endif
#if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
# include <unistd.h> /* for SEEK_* and off_t */ # include <unistd.h> /* for SEEK_* and off_t */
# ifdef VMS # ifdef VMS
# include <unixio.h> /* for off_t */ # include <unixio.h> /* for off_t */
@@ -385,6 +398,12 @@ typedef uLong FAR uLongf;
# define z_off_t long # define z_off_t long
#endif #endif
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
# define z_off64_t off64_t
#else
# define z_off64_t z_off_t
#endif
#if defined(__OS400__) #if defined(__OS400__)
# define NO_vsnprintf # define NO_vsnprintf
#endif #endif

View File

@@ -317,7 +317,7 @@
# endif # endif
#endif #endif
#ifdef HAVE_VISIBILITY_PRAGMA #ifndef NO_VIZ
# define ZEXTERN __attribute__((visibility ("default"))) extern # define ZEXTERN __attribute__((visibility ("default"))) extern
#endif #endif
@@ -366,8 +366,21 @@ typedef uLong FAR uLongf;
# define Z_HAVE_UNISTD_H # define Z_HAVE_UNISTD_H
#endif #endif
#if defined(Z_HAVE_UNISTD_H) || _LARGEFILE64_SOURCE == 1 #ifdef STDC
# include <sys/types.h> /* for off_t */ # include <sys/types.h> /* for off_t */
#endif
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
* though the former does not conform to the LFS document), but considering
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
* equivalently requesting no 64-bit operations
*/
#if -_LARGEFILE64_SOURCE - -1 == 1
# undef _LARGEFILE64_SOURCE
#endif
#if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
# include <unistd.h> /* for SEEK_* and off_t */ # include <unistd.h> /* for SEEK_* and off_t */
# ifdef VMS # ifdef VMS
# include <unixio.h> /* for off_t */ # include <unixio.h> /* for off_t */
@@ -387,6 +400,12 @@ typedef uLong FAR uLongf;
# define z_off_t long # define z_off_t long
#endif #endif
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
# define z_off64_t off64_t
#else
# define z_off64_t z_off_t
#endif
#if defined(__OS400__) #if defined(__OS400__)
# define NO_vsnprintf # define NO_vsnprintf
#endif #endif

View File

@@ -315,7 +315,7 @@
# endif # endif
#endif #endif
#ifdef HAVE_VISIBILITY_PRAGMA #ifndef NO_VIZ
# define ZEXTERN __attribute__((visibility ("default"))) extern # define ZEXTERN __attribute__((visibility ("default"))) extern
#endif #endif
@@ -364,8 +364,21 @@ typedef uLong FAR uLongf;
# define Z_HAVE_UNISTD_H # define Z_HAVE_UNISTD_H
#endif #endif
#if defined(Z_HAVE_UNISTD_H) || _LARGEFILE64_SOURCE == 1 #ifdef STDC
# include <sys/types.h> /* for off_t */ # include <sys/types.h> /* for off_t */
#endif
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
* though the former does not conform to the LFS document), but considering
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
* equivalently requesting no 64-bit operations
*/
#if -_LARGEFILE64_SOURCE - -1 == 1
# undef _LARGEFILE64_SOURCE
#endif
#if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
# include <unistd.h> /* for SEEK_* and off_t */ # include <unistd.h> /* for SEEK_* and off_t */
# ifdef VMS # ifdef VMS
# include <unixio.h> /* for off_t */ # include <unixio.h> /* for off_t */
@@ -385,6 +398,12 @@ typedef uLong FAR uLongf;
# define z_off_t long # define z_off_t long
#endif #endif
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
# define z_off64_t off64_t
#else
# define z_off64_t z_off_t
#endif
#if defined(__OS400__) #if defined(__OS400__)
# define NO_vsnprintf # define NO_vsnprintf
#endif #endif

4
zlib.3
View File

@@ -1,4 +1,4 @@
.TH ZLIB 3 "28 Mar 2010" .TH ZLIB 3 "18 Apr 2010"
.SH NAME .SH NAME
zlib \- compression/decompression library zlib \- compression/decompression library
.SH SYNOPSIS .SH SYNOPSIS
@@ -125,7 +125,7 @@ before asking for help.
Send questions and/or comments to zlib@gzip.org, Send questions and/or comments to zlib@gzip.org,
or (for the Windows DLL version) to Gilles Vollant (info@winimage.com). or (for the Windows DLL version) to Gilles Vollant (info@winimage.com).
.SH AUTHORS .SH AUTHORS
Version 1.2.4.1 Version 1.2.4.4
Copyright (C) 1995-2010 Jean-loup Gailly (jloup@gzip.org) Copyright (C) 1995-2010 Jean-loup Gailly (jloup@gzip.org)
and Mark Adler (madler@alumni.caltech.edu). and Mark Adler (madler@alumni.caltech.edu).
.LP .LP

Binary file not shown.

44
zlib.h
View File

@@ -1,5 +1,5 @@
/* zlib.h -- interface of the 'zlib' general purpose compression library /* zlib.h -- interface of the 'zlib' general purpose compression library
version 1.2.4.1, March 28th, 2010 version 1.2.4.4, April 18th, 2010
Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
@@ -37,12 +37,12 @@
extern "C" { extern "C" {
#endif #endif
#define ZLIB_VERSION "1.2.4.1" #define ZLIB_VERSION "1.2.4.4"
#define ZLIB_VERNUM 0x1241 #define ZLIB_VERNUM 0x1244
#define ZLIB_VER_MAJOR 1 #define ZLIB_VER_MAJOR 1
#define ZLIB_VER_MINOR 2 #define ZLIB_VER_MINOR 2
#define ZLIB_VER_REVISION 4 #define ZLIB_VER_REVISION 4
#define ZLIB_VER_SUBREVISION 1 #define ZLIB_VER_SUBREVISION 4
/* /*
The 'zlib' compression library provides in-memory compression and The 'zlib' compression library provides in-memory compression and
@@ -1556,29 +1556,35 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
inflateBackInit_((strm), (windowBits), (window), \ inflateBackInit_((strm), (windowBits), (window), \
ZLIB_VERSION, sizeof(z_stream)) ZLIB_VERSION, sizeof(z_stream))
#if _LARGEFILE64_SOURCE == 1 && _LFS64_LARGEFILE == 1 /* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
* change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
* both are true, the application gets the *64 functions, and the regular
* functions are changed to 64 bits) -- in case these are set on systems
* without large file support, _LFS64_LARGEFILE must also be true
*/
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
ZEXTERN off64_t ZEXPORT gzseek64 OF((gzFile, off64_t, int)); ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
ZEXTERN off64_t ZEXPORT gztell64 OF((gzFile)); ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
ZEXTERN off64_t ZEXPORT gzoffset64 OF((gzFile)); ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, off64_t)); ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, off64_t)); ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
#endif #endif
#if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS == 64 && _LFS64_LARGEFILE == 1 #if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
# define gzopen gzopen64 # define gzopen gzopen64
# define gzseek gzseek64 # define gzseek gzseek64
# define gztell gztell64 # define gztell gztell64
# define gzoffset gzoffset64 # define gzoffset gzoffset64
# define adler32_combine adler32_combine64 # define adler32_combine adler32_combine64
# define crc32_combine crc32_combine64 # define crc32_combine crc32_combine64
# if _LARGEFILE64_SOURCE != 1 # ifdef _LARGEFILE64_SOURCE
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
ZEXTERN off_t ZEXPORT gzseek64 OF((gzFile, off_t, int)); ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
ZEXTERN off_t ZEXPORT gztell64 OF((gzFile)); ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
ZEXTERN off_t ZEXPORT gzoffset64 OF((gzFile)); ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, off_t)); ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, off_t)); ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
# endif # endif
#else #else
ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *)); ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
@@ -1589,10 +1595,12 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
#endif #endif
/* hack for buggy compilers */
#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL) #if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
struct internal_state {int dummy;}; /* hack for buggy compilers */ struct internal_state {int dummy;};
#endif #endif
/* undocumented functions */
ZEXTERN const char * ZEXPORT zError OF((int)); ZEXTERN const char * ZEXPORT zError OF((int));
ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp)); ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));

View File

@@ -1,6 +1,7 @@
prefix=@prefix@ prefix=@prefix@
exec_prefix=@exec_prefix@ exec_prefix=@exec_prefix@
libdir=@libdir@ libdir=@libdir@
sharedlibdir=@sharedlibdir@
includedir=@includedir@ includedir=@includedir@
Name: zlib Name: zlib
@@ -8,5 +9,5 @@ Description: zlib compression library
Version: @VERSION@ Version: @VERSION@
Requires: Requires:
Libs: -L${libdir} -lz Libs: -L${libdir} -L${sharedlibdir} -lz
Cflags: -I${includedir} Cflags: -I${includedir}

16
zutil.h
View File

@@ -154,20 +154,10 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
#pragma warn -8066 #pragma warn -8066
#endif #endif
#if _LARGEFILE64_SOURCE == 1 && _LFS64_LARGEFILE == 1
# define z_off64_t off64_t
#else
# define z_off64_t z_off_t
#endif
/* provide prototypes for these when building zlib without LFS */ /* provide prototypes for these when building zlib without LFS */
#if _LARGEFILE64_SOURCE != 1 || _LFS64_LARGEFILE != 1 #if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
ZEXTERN off_t ZEXPORT gzseek64 OF((gzFile, off_t, int)); ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
ZEXTERN off_t ZEXPORT gztell64 OF((gzFile));
ZEXTERN off_t ZEXPORT gzoffset64 OF((gzFile));
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, off_t));
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, off_t));
#endif #endif
/* common defaults */ /* common defaults */