mirror of
https://github.com/boostorg/beast.git
synced 2025-08-03 14:54:32 +02:00
Update test zlib to 1.2.11
This commit is contained in:
@@ -6,26 +6,26 @@ GroupSources(include/beast beast)
|
|||||||
GroupSources(test/zlib "/")
|
GroupSources(test/zlib "/")
|
||||||
|
|
||||||
set(ZLIB_SOURCES
|
set(ZLIB_SOURCES
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/crc32.h
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/crc32.h
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/deflate.h
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/deflate.h
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inffast.h
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/inffast.h
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inffixed.h
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/inffixed.h
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inflate.h
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/inflate.h
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inftrees.h
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/inftrees.h
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/trees.h
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/trees.h
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/zlib.h
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/zlib.h
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/zutil.h
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/zutil.h
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/adler32.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/adler32.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/compress.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/compress.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/crc32.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/crc32.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/deflate.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/deflate.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/infback.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/infback.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inffast.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/inffast.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inflate.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/inflate.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inftrees.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/inftrees.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/trees.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/trees.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/uncompr.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/uncompr.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/zutil.c
|
${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/zutil.c
|
||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
|
@@ -7,17 +7,17 @@
|
|||||||
|
|
||||||
unit-test zlib-tests :
|
unit-test zlib-tests :
|
||||||
../../extras/beast/unit_test/main.cpp
|
../../extras/beast/unit_test/main.cpp
|
||||||
zlib-1.2.8/adler32.c
|
zlib-1.2.11/adler32.c
|
||||||
zlib-1.2.8/compress.c
|
zlib-1.2.11/compress.c
|
||||||
zlib-1.2.8/crc32.c
|
zlib-1.2.11/crc32.c
|
||||||
zlib-1.2.8/deflate.c
|
zlib-1.2.11/deflate.c
|
||||||
zlib-1.2.8/infback.c
|
zlib-1.2.11/infback.c
|
||||||
zlib-1.2.8/inffast.c
|
zlib-1.2.11/inffast.c
|
||||||
zlib-1.2.8/inflate.c
|
zlib-1.2.11/inflate.c
|
||||||
zlib-1.2.8/inftrees.c
|
zlib-1.2.11/inftrees.c
|
||||||
zlib-1.2.8/trees.c
|
zlib-1.2.11/trees.c
|
||||||
zlib-1.2.8/uncompr.c
|
zlib-1.2.11/uncompr.c
|
||||||
zlib-1.2.8/zutil.c
|
zlib-1.2.11/zutil.c
|
||||||
deflate_stream.cpp
|
deflate_stream.cpp
|
||||||
error.cpp
|
error.cpp
|
||||||
inflate_stream.cpp
|
inflate_stream.cpp
|
||||||
|
@@ -285,6 +285,9 @@ public:
|
|||||||
{
|
{
|
||||||
for(int windowBits = 8; windowBits <= 9; ++windowBits)
|
for(int windowBits = 8; windowBits <= 9; ++windowBits)
|
||||||
{
|
{
|
||||||
|
// zlib has a bug with windowBits==8
|
||||||
|
if(windowBits == 8)
|
||||||
|
continue;
|
||||||
for(int strategy = 0; strategy <= 4; ++strategy)
|
for(int strategy = 0; strategy <= 4; ++strategy)
|
||||||
{
|
{
|
||||||
(this->*pmf)(
|
(this->*pmf)(
|
||||||
|
@@ -225,7 +225,7 @@ public:
|
|||||||
{
|
{
|
||||||
level_[0] = 0;
|
level_[0] = 0;
|
||||||
level_[1] = 9;
|
level_[1] = 9;
|
||||||
window_[0] = 8;
|
window_[0] = 9;
|
||||||
window_[1] = 15;
|
window_[1] = 15;
|
||||||
strategy_[0] = 0;
|
strategy_[0] = 0;
|
||||||
strategy_[1] = 4;
|
strategy_[1] = 4;
|
||||||
|
26
test/zlib/zlib-1.2.11/.gitignore
vendored
Normal file
26
test/zlib/zlib-1.2.11/.gitignore
vendored
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
*.diff
|
||||||
|
*.patch
|
||||||
|
*.orig
|
||||||
|
*.rej
|
||||||
|
|
||||||
|
*~
|
||||||
|
*.a
|
||||||
|
*.lo
|
||||||
|
*.o
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
*.gcda
|
||||||
|
*.gcno
|
||||||
|
*.gcov
|
||||||
|
|
||||||
|
/example
|
||||||
|
/example64
|
||||||
|
/examplesh
|
||||||
|
/libz.so*
|
||||||
|
/minigzip
|
||||||
|
/minigzip64
|
||||||
|
/minigzipsh
|
||||||
|
/zlib.pc
|
||||||
|
/configure.log
|
||||||
|
|
||||||
|
.DS_Store
|
@@ -3,7 +3,7 @@ set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
|
|||||||
|
|
||||||
project(zlib C)
|
project(zlib C)
|
||||||
|
|
||||||
set(VERSION "1.2.8")
|
set(VERSION "1.2.11")
|
||||||
|
|
||||||
option(ASM686 "Enable building i686 assembly implementation")
|
option(ASM686 "Enable building i686 assembly implementation")
|
||||||
option(AMD64 "Enable building amd64 assembly implementation")
|
option(AMD64 "Enable building amd64 assembly implementation")
|
@@ -1,10 +1,53 @@
|
|||||||
|
|
||||||
ChangeLog file for zlib
|
ChangeLog file for zlib
|
||||||
|
|
||||||
|
Changes in 1.2.11 (15 Jan 2017)
|
||||||
|
- Fix deflate stored bug when pulling last block from window
|
||||||
|
- Permit immediate deflateParams changes before any deflate input
|
||||||
|
|
||||||
|
Changes in 1.2.10 (2 Jan 2017)
|
||||||
|
- Avoid warnings on snprintf() return value
|
||||||
|
- Fix bug in deflate_stored() for zero-length input
|
||||||
|
- Fix bug in gzwrite.c that produced corrupt gzip files
|
||||||
|
- Remove files to be installed before copying them in Makefile.in
|
||||||
|
- Add warnings when compiling with assembler code
|
||||||
|
|
||||||
|
Changes in 1.2.9 (31 Dec 2016)
|
||||||
|
- Fix contrib/minizip to permit unzipping with desktop API [Zouzou]
|
||||||
|
- Improve contrib/blast to return unused bytes
|
||||||
|
- Assure that gzoffset() is correct when appending
|
||||||
|
- Improve compress() and uncompress() to support large lengths
|
||||||
|
- Fix bug in test/example.c where error code not saved
|
||||||
|
- Remedy Coverity warning [Randers-Pehrson]
|
||||||
|
- Improve speed of gzprintf() in transparent mode
|
||||||
|
- Fix inflateInit2() bug when windowBits is 16 or 32
|
||||||
|
- Change DEBUG macro to ZLIB_DEBUG
|
||||||
|
- Avoid uninitialized access by gzclose_w()
|
||||||
|
- Allow building zlib outside of the source directory
|
||||||
|
- Fix bug that accepted invalid zlib header when windowBits is zero
|
||||||
|
- Fix gzseek() problem on MinGW due to buggy _lseeki64 there
|
||||||
|
- Loop on write() calls in gzwrite.c in case of non-blocking I/O
|
||||||
|
- Add --warn (-w) option to ./configure for more compiler warnings
|
||||||
|
- Reject a window size of 256 bytes if not using the zlib wrapper
|
||||||
|
- Fix bug when level 0 used with Z_HUFFMAN or Z_RLE
|
||||||
|
- Add --debug (-d) option to ./configure to define ZLIB_DEBUG
|
||||||
|
- Fix bugs in creating a very large gzip header
|
||||||
|
- Add uncompress2() function, which returns the input size used
|
||||||
|
- Assure that deflateParams() will not switch functions mid-block
|
||||||
|
- Dramatically speed up deflation for level 0 (storing)
|
||||||
|
- Add gzfread(), duplicating the interface of fread()
|
||||||
|
- Add gzfwrite(), duplicating the interface of fwrite()
|
||||||
|
- Add deflateGetDictionary() function
|
||||||
|
- Use snprintf() for later versions of Microsoft C
|
||||||
|
- Fix *Init macros to use z_ prefix when requested
|
||||||
|
- Replace as400 with os400 for OS/400 support [Monnerat]
|
||||||
|
- Add crc32_z() and adler32_z() functions with size_t lengths
|
||||||
|
- Update Visual Studio project files [AraHaan]
|
||||||
|
|
||||||
Changes in 1.2.8 (28 Apr 2013)
|
Changes in 1.2.8 (28 Apr 2013)
|
||||||
- Update contrib/minizip/iowin32.c for Windows RT [Vollant]
|
- Update contrib/minizip/iowin32.c for Windows RT [Vollant]
|
||||||
- Do not force Z_CONST for C++
|
- Do not force Z_CONST for C++
|
||||||
- Clean up contrib/vstudio [Ro§]
|
- Clean up contrib/vstudio [Roß]
|
||||||
- Correct spelling error in zlib.h
|
- Correct spelling error in zlib.h
|
||||||
- Fix mixed line endings in contrib/vstudio
|
- Fix mixed line endings in contrib/vstudio
|
||||||
|
|
||||||
@@ -34,7 +77,7 @@ Changes in 1.2.7.1 (24 Mar 2013)
|
|||||||
- Clean up the usage of z_const and respect const usage within zlib
|
- Clean up the usage of z_const and respect const usage within zlib
|
||||||
- Clean up examples/gzlog.[ch] comparisons of different types
|
- Clean up examples/gzlog.[ch] comparisons of different types
|
||||||
- Avoid shift equal to bits in type (caused endless loop)
|
- Avoid shift equal to bits in type (caused endless loop)
|
||||||
- Fix unintialized value bug in gzputc() introduced by const patches
|
- Fix uninitialized value bug in gzputc() introduced by const patches
|
||||||
- Fix memory allocation error in examples/zran.c [Nor]
|
- Fix memory allocation error in examples/zran.c [Nor]
|
||||||
- Fix bug where gzopen(), gzclose() would write an empty file
|
- Fix bug where gzopen(), gzclose() would write an empty file
|
||||||
- Fix bug in gzclose() when gzwrite() runs out of memory
|
- Fix bug in gzclose() when gzwrite() runs out of memory
|
||||||
@@ -194,7 +237,7 @@ Changes in 1.2.5.2 (17 Dec 2011)
|
|||||||
- Add a transparent write mode to gzopen() when 'T' is in the mode
|
- Add a transparent write mode to gzopen() when 'T' is in the mode
|
||||||
- Update python link in zlib man page
|
- Update python link in zlib man page
|
||||||
- Get inffixed.h and MAKEFIXED result to match
|
- Get inffixed.h and MAKEFIXED result to match
|
||||||
- Add a ./config --solo option to make zlib subset with no libary use
|
- Add a ./config --solo option to make zlib subset with no library use
|
||||||
- Add undocumented inflateResetKeep() function for CAB file decoding
|
- Add undocumented inflateResetKeep() function for CAB file decoding
|
||||||
- Add --cover option to ./configure for gcc coverage testing
|
- Add --cover option to ./configure for gcc coverage testing
|
||||||
- Add #define ZLIB_CONST option to use const in the z_stream interface
|
- Add #define ZLIB_CONST option to use const in the z_stream interface
|
||||||
@@ -564,7 +607,7 @@ Changes in 1.2.3.1 (16 August 2006)
|
|||||||
- Update make_vms.com [Zinser]
|
- Update make_vms.com [Zinser]
|
||||||
- Use -fPIC for shared build in configure [Teredesai, Nicholson]
|
- Use -fPIC for shared build in configure [Teredesai, Nicholson]
|
||||||
- Use only major version number for libz.so on IRIX and OSF1 [Reinholdtsen]
|
- Use only major version number for libz.so on IRIX and OSF1 [Reinholdtsen]
|
||||||
- Use fdopen() (not _fdopen()) for Interix in zutil.h [BŠck]
|
- Use fdopen() (not _fdopen()) for Interix in zutil.h [Bäck]
|
||||||
- Add some FAQ entries about the contrib directory
|
- Add some FAQ entries about the contrib directory
|
||||||
- Update the MVS question in the FAQ
|
- Update the MVS question in the FAQ
|
||||||
- Avoid extraneous reads after EOF in gzio.c [Brown]
|
- Avoid extraneous reads after EOF in gzio.c [Brown]
|
||||||
@@ -1178,7 +1221,7 @@ Changes in 1.0.6 (19 Jan 1998)
|
|||||||
386 asm code replacing longest_match().
|
386 asm code replacing longest_match().
|
||||||
contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
|
contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
|
||||||
A C++ I/O streams interface to the zlib gz* functions
|
A C++ I/O streams interface to the zlib gz* functions
|
||||||
contrib/iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
|
contrib/iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
|
||||||
Another C++ I/O streams interface
|
Another C++ I/O streams interface
|
||||||
contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es>
|
contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es>
|
||||||
A very simple tar.gz file extractor using zlib
|
A very simple tar.gz file extractor using zlib
|
||||||
@@ -1267,7 +1310,7 @@ Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion]
|
|||||||
- fix array overlay in deflate.c which sometimes caused bad compressed data
|
- fix array overlay in deflate.c which sometimes caused bad compressed data
|
||||||
- fix inflate bug with empty stored block
|
- fix inflate bug with empty stored block
|
||||||
- fix MSDOS medium model which was broken in 0.99
|
- fix MSDOS medium model which was broken in 0.99
|
||||||
- fix deflateParams() which could generated bad compressed data.
|
- fix deflateParams() which could generate bad compressed data.
|
||||||
- Bytef is define'd instead of typedef'ed (work around Borland bug)
|
- Bytef is define'd instead of typedef'ed (work around Borland bug)
|
||||||
- added an INDEX file
|
- added an INDEX file
|
||||||
- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32),
|
- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32),
|
410
test/zlib/zlib-1.2.11/Makefile.in
Normal file
410
test/zlib/zlib-1.2.11/Makefile.in
Normal file
@@ -0,0 +1,410 @@
|
|||||||
|
# Makefile for zlib
|
||||||
|
# Copyright (C) 1995-2017 Jean-loup Gailly, Mark Adler
|
||||||
|
# For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
|
|
||||||
|
# To compile and test, type:
|
||||||
|
# ./configure; make test
|
||||||
|
# Normally configure builds both a static and a shared library.
|
||||||
|
# If you want to build just a static library, use: ./configure --static
|
||||||
|
|
||||||
|
# To use the asm code, type:
|
||||||
|
# cp contrib/asm?86/match.S ./match.S
|
||||||
|
# make LOC=-DASMV OBJA=match.o
|
||||||
|
|
||||||
|
# To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type:
|
||||||
|
# make install
|
||||||
|
# To install in $HOME instead of /usr/local, use:
|
||||||
|
# make install prefix=$HOME
|
||||||
|
|
||||||
|
CC=cc
|
||||||
|
|
||||||
|
CFLAGS=-O
|
||||||
|
#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
|
||||||
|
#CFLAGS=-g -DZLIB_DEBUG
|
||||||
|
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
|
||||||
|
# -Wstrict-prototypes -Wmissing-prototypes
|
||||||
|
|
||||||
|
SFLAGS=-O
|
||||||
|
LDFLAGS=
|
||||||
|
TEST_LDFLAGS=-L. libz.a
|
||||||
|
LDSHARED=$(CC)
|
||||||
|
CPP=$(CC) -E
|
||||||
|
|
||||||
|
STATICLIB=libz.a
|
||||||
|
SHAREDLIB=libz.so
|
||||||
|
SHAREDLIBV=libz.so.1.2.11
|
||||||
|
SHAREDLIBM=libz.so.1
|
||||||
|
LIBS=$(STATICLIB) $(SHAREDLIBV)
|
||||||
|
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rc
|
||||||
|
RANLIB=ranlib
|
||||||
|
LDCONFIG=ldconfig
|
||||||
|
LDSHAREDLIBC=-lc
|
||||||
|
TAR=tar
|
||||||
|
SHELL=/bin/sh
|
||||||
|
EXE=
|
||||||
|
|
||||||
|
prefix = /usr/local
|
||||||
|
exec_prefix = ${prefix}
|
||||||
|
libdir = ${exec_prefix}/lib
|
||||||
|
sharedlibdir = ${libdir}
|
||||||
|
includedir = ${prefix}/include
|
||||||
|
mandir = ${prefix}/share/man
|
||||||
|
man3dir = ${mandir}/man3
|
||||||
|
pkgconfigdir = ${libdir}/pkgconfig
|
||||||
|
SRCDIR=
|
||||||
|
ZINC=
|
||||||
|
ZINCOUT=-I.
|
||||||
|
|
||||||
|
OBJZ = adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o
|
||||||
|
OBJG = compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
|
||||||
|
OBJC = $(OBJZ) $(OBJG)
|
||||||
|
|
||||||
|
PIC_OBJZ = adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo
|
||||||
|
PIC_OBJG = compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo
|
||||||
|
PIC_OBJC = $(PIC_OBJZ) $(PIC_OBJG)
|
||||||
|
|
||||||
|
# to use the asm code: make OBJA=match.o, PIC_OBJA=match.lo
|
||||||
|
OBJA =
|
||||||
|
PIC_OBJA =
|
||||||
|
|
||||||
|
OBJS = $(OBJC) $(OBJA)
|
||||||
|
|
||||||
|
PIC_OBJS = $(PIC_OBJC) $(PIC_OBJA)
|
||||||
|
|
||||||
|
all: static shared
|
||||||
|
|
||||||
|
static: example$(EXE) minigzip$(EXE)
|
||||||
|
|
||||||
|
shared: examplesh$(EXE) minigzipsh$(EXE)
|
||||||
|
|
||||||
|
all64: example64$(EXE) minigzip64$(EXE)
|
||||||
|
|
||||||
|
check: test
|
||||||
|
|
||||||
|
test: all teststatic testshared
|
||||||
|
|
||||||
|
teststatic: static
|
||||||
|
@TMPST=tmpst_$$; \
|
||||||
|
if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
|
||||||
|
echo ' *** zlib test OK ***'; \
|
||||||
|
else \
|
||||||
|
echo ' *** zlib test FAILED ***'; false; \
|
||||||
|
fi; \
|
||||||
|
rm -f $$TMPST
|
||||||
|
|
||||||
|
testshared: shared
|
||||||
|
@LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
|
||||||
|
LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
|
||||||
|
DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
|
||||||
|
SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
|
||||||
|
TMPSH=tmpsh_$$; \
|
||||||
|
if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh $$TMPSH; then \
|
||||||
|
echo ' *** zlib shared test OK ***'; \
|
||||||
|
else \
|
||||||
|
echo ' *** zlib shared test FAILED ***'; false; \
|
||||||
|
fi; \
|
||||||
|
rm -f $$TMPSH
|
||||||
|
|
||||||
|
test64: all64
|
||||||
|
@TMP64=tmp64_$$; \
|
||||||
|
if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
|
||||||
|
echo ' *** zlib 64-bit test OK ***'; \
|
||||||
|
else \
|
||||||
|
echo ' *** zlib 64-bit test FAILED ***'; false; \
|
||||||
|
fi; \
|
||||||
|
rm -f $$TMP64
|
||||||
|
|
||||||
|
infcover.o: $(SRCDIR)test/infcover.c $(SRCDIR)zlib.h zconf.h
|
||||||
|
$(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/infcover.c
|
||||||
|
|
||||||
|
infcover: infcover.o libz.a
|
||||||
|
$(CC) $(CFLAGS) -o $@ infcover.o libz.a
|
||||||
|
|
||||||
|
cover: infcover
|
||||||
|
rm -f *.gcda
|
||||||
|
./infcover
|
||||||
|
gcov inf*.c
|
||||||
|
|
||||||
|
libz.a: $(OBJS)
|
||||||
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
|
||||||
|
|
||||||
|
match.o: match.S
|
||||||
|
$(CPP) match.S > _match.s
|
||||||
|
$(CC) -c _match.s
|
||||||
|
mv _match.o match.o
|
||||||
|
rm -f _match.s
|
||||||
|
|
||||||
|
match.lo: match.S
|
||||||
|
$(CPP) match.S > _match.s
|
||||||
|
$(CC) -c -fPIC _match.s
|
||||||
|
mv _match.o match.lo
|
||||||
|
rm -f _match.s
|
||||||
|
|
||||||
|
example.o: $(SRCDIR)test/example.c $(SRCDIR)zlib.h zconf.h
|
||||||
|
$(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/example.c
|
||||||
|
|
||||||
|
minigzip.o: $(SRCDIR)test/minigzip.c $(SRCDIR)zlib.h zconf.h
|
||||||
|
$(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/minigzip.c
|
||||||
|
|
||||||
|
example64.o: $(SRCDIR)test/example.c $(SRCDIR)zlib.h zconf.h
|
||||||
|
$(CC) $(CFLAGS) $(ZINCOUT) -D_FILE_OFFSET_BITS=64 -c -o $@ $(SRCDIR)test/example.c
|
||||||
|
|
||||||
|
minigzip64.o: $(SRCDIR)test/minigzip.c $(SRCDIR)zlib.h zconf.h
|
||||||
|
$(CC) $(CFLAGS) $(ZINCOUT) -D_FILE_OFFSET_BITS=64 -c -o $@ $(SRCDIR)test/minigzip.c
|
||||||
|
|
||||||
|
|
||||||
|
adler32.o: $(SRCDIR)adler32.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)adler32.c
|
||||||
|
|
||||||
|
crc32.o: $(SRCDIR)crc32.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)crc32.c
|
||||||
|
|
||||||
|
deflate.o: $(SRCDIR)deflate.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)deflate.c
|
||||||
|
|
||||||
|
infback.o: $(SRCDIR)infback.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)infback.c
|
||||||
|
|
||||||
|
inffast.o: $(SRCDIR)inffast.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inffast.c
|
||||||
|
|
||||||
|
inflate.o: $(SRCDIR)inflate.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inflate.c
|
||||||
|
|
||||||
|
inftrees.o: $(SRCDIR)inftrees.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inftrees.c
|
||||||
|
|
||||||
|
trees.o: $(SRCDIR)trees.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)trees.c
|
||||||
|
|
||||||
|
zutil.o: $(SRCDIR)zutil.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)zutil.c
|
||||||
|
|
||||||
|
compress.o: $(SRCDIR)compress.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)compress.c
|
||||||
|
|
||||||
|
uncompr.o: $(SRCDIR)uncompr.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)uncompr.c
|
||||||
|
|
||||||
|
gzclose.o: $(SRCDIR)gzclose.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzclose.c
|
||||||
|
|
||||||
|
gzlib.o: $(SRCDIR)gzlib.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzlib.c
|
||||||
|
|
||||||
|
gzread.o: $(SRCDIR)gzread.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzread.c
|
||||||
|
|
||||||
|
gzwrite.o: $(SRCDIR)gzwrite.c
|
||||||
|
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzwrite.c
|
||||||
|
|
||||||
|
|
||||||
|
adler32.lo: $(SRCDIR)adler32.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/adler32.o $(SRCDIR)adler32.c
|
||||||
|
-@mv objs/adler32.o $@
|
||||||
|
|
||||||
|
crc32.lo: $(SRCDIR)crc32.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/crc32.o $(SRCDIR)crc32.c
|
||||||
|
-@mv objs/crc32.o $@
|
||||||
|
|
||||||
|
deflate.lo: $(SRCDIR)deflate.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/deflate.o $(SRCDIR)deflate.c
|
||||||
|
-@mv objs/deflate.o $@
|
||||||
|
|
||||||
|
infback.lo: $(SRCDIR)infback.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/infback.o $(SRCDIR)infback.c
|
||||||
|
-@mv objs/infback.o $@
|
||||||
|
|
||||||
|
inffast.lo: $(SRCDIR)inffast.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/inffast.o $(SRCDIR)inffast.c
|
||||||
|
-@mv objs/inffast.o $@
|
||||||
|
|
||||||
|
inflate.lo: $(SRCDIR)inflate.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/inflate.o $(SRCDIR)inflate.c
|
||||||
|
-@mv objs/inflate.o $@
|
||||||
|
|
||||||
|
inftrees.lo: $(SRCDIR)inftrees.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/inftrees.o $(SRCDIR)inftrees.c
|
||||||
|
-@mv objs/inftrees.o $@
|
||||||
|
|
||||||
|
trees.lo: $(SRCDIR)trees.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/trees.o $(SRCDIR)trees.c
|
||||||
|
-@mv objs/trees.o $@
|
||||||
|
|
||||||
|
zutil.lo: $(SRCDIR)zutil.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/zutil.o $(SRCDIR)zutil.c
|
||||||
|
-@mv objs/zutil.o $@
|
||||||
|
|
||||||
|
compress.lo: $(SRCDIR)compress.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/compress.o $(SRCDIR)compress.c
|
||||||
|
-@mv objs/compress.o $@
|
||||||
|
|
||||||
|
uncompr.lo: $(SRCDIR)uncompr.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/uncompr.o $(SRCDIR)uncompr.c
|
||||||
|
-@mv objs/uncompr.o $@
|
||||||
|
|
||||||
|
gzclose.lo: $(SRCDIR)gzclose.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/gzclose.o $(SRCDIR)gzclose.c
|
||||||
|
-@mv objs/gzclose.o $@
|
||||||
|
|
||||||
|
gzlib.lo: $(SRCDIR)gzlib.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/gzlib.o $(SRCDIR)gzlib.c
|
||||||
|
-@mv objs/gzlib.o $@
|
||||||
|
|
||||||
|
gzread.lo: $(SRCDIR)gzread.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/gzread.o $(SRCDIR)gzread.c
|
||||||
|
-@mv objs/gzread.o $@
|
||||||
|
|
||||||
|
gzwrite.lo: $(SRCDIR)gzwrite.c
|
||||||
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
|
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/gzwrite.o $(SRCDIR)gzwrite.c
|
||||||
|
-@mv objs/gzwrite.o $@
|
||||||
|
|
||||||
|
|
||||||
|
placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a
|
||||||
|
$(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
|
||||||
|
rm -f $(SHAREDLIB) $(SHAREDLIBM)
|
||||||
|
ln -s $@ $(SHAREDLIB)
|
||||||
|
ln -s $@ $(SHAREDLIBM)
|
||||||
|
-@rmdir objs
|
||||||
|
|
||||||
|
example$(EXE): example.o $(STATICLIB)
|
||||||
|
$(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
|
||||||
|
|
||||||
|
minigzip$(EXE): minigzip.o $(STATICLIB)
|
||||||
|
$(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
|
||||||
|
|
||||||
|
examplesh$(EXE): example.o $(SHAREDLIBV)
|
||||||
|
$(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
|
||||||
|
|
||||||
|
minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
|
||||||
|
$(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
|
||||||
|
|
||||||
|
example64$(EXE): example64.o $(STATICLIB)
|
||||||
|
$(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
|
||||||
|
|
||||||
|
minigzip64$(EXE): minigzip64.o $(STATICLIB)
|
||||||
|
$(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
|
||||||
|
|
||||||
|
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
|
||||||
|
rm -f $(DESTDIR)$(libdir)/$(STATICLIB)
|
||||||
|
cp $(STATICLIB) $(DESTDIR)$(libdir)
|
||||||
|
chmod 644 $(DESTDIR)$(libdir)/$(STATICLIB)
|
||||||
|
-@($(RANLIB) $(DESTDIR)$(libdir)/libz.a || true) >/dev/null 2>&1
|
||||||
|
-@if test -n "$(SHAREDLIBV)"; then \
|
||||||
|
rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
|
||||||
|
cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \
|
||||||
|
echo "cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)"; \
|
||||||
|
chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
|
||||||
|
echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV)"; \
|
||||||
|
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; \
|
||||||
|
fi
|
||||||
|
rm -f $(DESTDIR)$(man3dir)/zlib.3
|
||||||
|
cp $(SRCDIR)zlib.3 $(DESTDIR)$(man3dir)
|
||||||
|
chmod 644 $(DESTDIR)$(man3dir)/zlib.3
|
||||||
|
rm -f $(DESTDIR)$(pkgconfigdir)/zlib.pc
|
||||||
|
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
|
||||||
|
rm -f $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
|
||||||
|
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 libz.a; \
|
||||||
|
if test -n "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \
|
||||||
|
rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
|
||||||
|
fi
|
||||||
|
cd $(DESTDIR)$(man3dir) && rm -f zlib.3
|
||||||
|
cd $(DESTDIR)$(pkgconfigdir) && rm -f zlib.pc
|
||||||
|
|
||||||
|
docs: zlib.3.pdf
|
||||||
|
|
||||||
|
zlib.3.pdf: $(SRCDIR)zlib.3
|
||||||
|
groff -mandoc -f H -T ps $(SRCDIR)zlib.3 | ps2pdf - $@
|
||||||
|
|
||||||
|
zconf.h.cmakein: $(SRCDIR)zconf.h.in
|
||||||
|
-@ TEMPFILE=zconfh_$$; \
|
||||||
|
echo "/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" >> $$TEMPFILE &&\
|
||||||
|
sed -f $$TEMPFILE $(SRCDIR)zconf.h.in > $@ &&\
|
||||||
|
touch -r $(SRCDIR)zconf.h.in $@ &&\
|
||||||
|
rm $$TEMPFILE
|
||||||
|
|
||||||
|
zconf: $(SRCDIR)zconf.h.in
|
||||||
|
cp -p $(SRCDIR)zconf.h.in zconf.h
|
||||||
|
|
||||||
|
mostlyclean: clean
|
||||||
|
clean:
|
||||||
|
rm -f *.o *.lo *~ \
|
||||||
|
example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
|
||||||
|
example64$(EXE) minigzip64$(EXE) \
|
||||||
|
infcover \
|
||||||
|
libz.* foo.gz so_locations \
|
||||||
|
_match.s maketree contrib/infback9/*.o
|
||||||
|
rm -rf objs
|
||||||
|
rm -f *.gcda *.gcno *.gcov
|
||||||
|
rm -f contrib/infback9/*.gcda contrib/infback9/*.gcno contrib/infback9/*.gcov
|
||||||
|
|
||||||
|
maintainer-clean: distclean
|
||||||
|
distclean: clean zconf zconf.h.cmakein docs
|
||||||
|
rm -f Makefile zlib.pc configure.log
|
||||||
|
-@rm -f .DS_Store
|
||||||
|
@if [ -f Makefile.in ]; then \
|
||||||
|
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 $(SRCDIR)Makefile.in Makefile ; fi
|
||||||
|
@if [ ! -f zconf.h.in ]; then rm -f zconf.h zconf.h.cmakein ; fi
|
||||||
|
@if [ ! -f zlib.3 ]; then rm -f zlib.3.pdf ; fi
|
||||||
|
|
||||||
|
tags:
|
||||||
|
etags $(SRCDIR)*.[ch]
|
||||||
|
|
||||||
|
adler32.o zutil.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
|
||||||
|
gzclose.o gzlib.o gzread.o gzwrite.o: $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h
|
||||||
|
compress.o example.o minigzip.o uncompr.o: $(SRCDIR)zlib.h zconf.h
|
||||||
|
crc32.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)crc32.h
|
||||||
|
deflate.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
|
||||||
|
infback.o inflate.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h $(SRCDIR)inffixed.h
|
||||||
|
inffast.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h
|
||||||
|
inftrees.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h
|
||||||
|
trees.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h
|
||||||
|
|
||||||
|
adler32.lo zutil.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
|
||||||
|
gzclose.lo gzlib.lo gzread.lo gzwrite.lo: $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h
|
||||||
|
compress.lo example.lo minigzip.lo uncompr.lo: $(SRCDIR)zlib.h zconf.h
|
||||||
|
crc32.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)crc32.h
|
||||||
|
deflate.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
|
||||||
|
infback.lo inflate.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h $(SRCDIR)inffixed.h
|
||||||
|
inffast.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h
|
||||||
|
inftrees.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h
|
||||||
|
trees.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h
|
@@ -1,6 +1,6 @@
|
|||||||
ZLIB DATA COMPRESSION LIBRARY
|
ZLIB DATA COMPRESSION LIBRARY
|
||||||
|
|
||||||
zlib 1.2.8 is a general purpose data compression library. All the code is
|
zlib 1.2.11 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://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
|
http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
|
||||||
@@ -31,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.8 are documented in the file ChangeLog.
|
The changes made in version 1.2.11 are documented in the file ChangeLog.
|
||||||
|
|
||||||
Unsupported third party contributions are provided in directory contrib/ .
|
Unsupported third party contributions are provided in directory contrib/ .
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ Acknowledgments:
|
|||||||
|
|
||||||
Copyright notice:
|
Copyright notice:
|
||||||
|
|
||||||
(C) 1995-2013 Jean-loup Gailly and Mark Adler
|
(C) 1995-2017 Jean-loup Gailly and Mark Adler
|
||||||
|
|
||||||
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 authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,5 +1,5 @@
|
|||||||
/* adler32.c -- compute the Adler-32 checksum of a data stream
|
/* adler32.c -- compute the Adler-32 checksum of a data stream
|
||||||
* Copyright (C) 1995-2011 Mark Adler
|
* Copyright (C) 1995-2011, 2016 Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -7,11 +7,9 @@
|
|||||||
|
|
||||||
#include "zutil.h"
|
#include "zutil.h"
|
||||||
|
|
||||||
#define local static
|
|
||||||
|
|
||||||
local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
|
local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
|
||||||
|
|
||||||
#define BASE 65521 /* largest prime smaller than 65536 */
|
#define BASE 65521U /* largest prime smaller than 65536 */
|
||||||
#define NMAX 5552
|
#define NMAX 5552
|
||||||
/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
|
/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
|
||||||
|
|
||||||
@@ -62,10 +60,10 @@ local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* ========================================================================= */
|
/* ========================================================================= */
|
||||||
uLong ZEXPORT adler32(adler, buf, len)
|
uLong ZEXPORT adler32_z(adler, buf, len)
|
||||||
uLong adler;
|
uLong adler;
|
||||||
const Bytef *buf;
|
const Bytef *buf;
|
||||||
uInt len;
|
z_size_t len;
|
||||||
{
|
{
|
||||||
unsigned long sum2;
|
unsigned long sum2;
|
||||||
unsigned n;
|
unsigned n;
|
||||||
@@ -132,6 +130,15 @@ uLong ZEXPORT adler32(adler, buf, len)
|
|||||||
return adler | (sum2 << 16);
|
return adler | (sum2 << 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ========================================================================= */
|
||||||
|
uLong ZEXPORT adler32(adler, buf, len)
|
||||||
|
uLong adler;
|
||||||
|
const Bytef *buf;
|
||||||
|
uInt len;
|
||||||
|
{
|
||||||
|
return adler32_z(adler, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
/* ========================================================================= */
|
/* ========================================================================= */
|
||||||
local uLong adler32_combine_(adler1, adler2, len2)
|
local uLong adler32_combine_(adler1, adler2, len2)
|
||||||
uLong adler1;
|
uLong adler1;
|
||||||
@@ -156,7 +163,7 @@ local uLong adler32_combine_(adler1, adler2, len2)
|
|||||||
sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem;
|
sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem;
|
||||||
if (sum1 >= BASE) sum1 -= BASE;
|
if (sum1 >= BASE) sum1 -= BASE;
|
||||||
if (sum1 >= BASE) sum1 -= BASE;
|
if (sum1 >= BASE) sum1 -= BASE;
|
||||||
if (sum2 >= (BASE << 1)) sum2 -= (BASE << 1);
|
if (sum2 >= ((unsigned long)BASE << 1)) sum2 -= ((unsigned long)BASE << 1);
|
||||||
if (sum2 >= BASE) sum2 -= BASE;
|
if (sum2 >= BASE) sum2 -= BASE;
|
||||||
return sum1 | (sum2 << 16);
|
return sum1 | (sum2 << 16);
|
||||||
}
|
}
|
@@ -1,5 +1,5 @@
|
|||||||
/* compress.c -- compress a memory buffer
|
/* compress.c -- compress a memory buffer
|
||||||
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
* Copyright (C) 1995-2005, 2014, 2016 Jean-loup Gailly, Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -28,16 +28,11 @@ int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
|
|||||||
{
|
{
|
||||||
z_stream stream;
|
z_stream stream;
|
||||||
int err;
|
int err;
|
||||||
|
const uInt max = (uInt)-1;
|
||||||
|
uLong left;
|
||||||
|
|
||||||
stream.next_in = (z_const Bytef *)source;
|
left = *destLen;
|
||||||
stream.avail_in = (uInt)sourceLen;
|
*destLen = 0;
|
||||||
#ifdef MAXSEG_64K
|
|
||||||
/* Check for source > 64K on 16-bit machine: */
|
|
||||||
if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
|
|
||||||
#endif
|
|
||||||
stream.next_out = dest;
|
|
||||||
stream.avail_out = (uInt)*destLen;
|
|
||||||
if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
|
|
||||||
|
|
||||||
stream.zalloc = (alloc_func)0;
|
stream.zalloc = (alloc_func)0;
|
||||||
stream.zfree = (free_func)0;
|
stream.zfree = (free_func)0;
|
||||||
@@ -46,15 +41,26 @@ int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
|
|||||||
err = deflateInit(&stream, level);
|
err = deflateInit(&stream, level);
|
||||||
if (err != Z_OK) return err;
|
if (err != Z_OK) return err;
|
||||||
|
|
||||||
err = deflate(&stream, Z_FINISH);
|
stream.next_out = dest;
|
||||||
if (err != Z_STREAM_END) {
|
stream.avail_out = 0;
|
||||||
deflateEnd(&stream);
|
stream.next_in = (z_const Bytef *)source;
|
||||||
return err == Z_OK ? Z_BUF_ERROR : err;
|
stream.avail_in = 0;
|
||||||
}
|
|
||||||
*destLen = stream.total_out;
|
|
||||||
|
|
||||||
err = deflateEnd(&stream);
|
do {
|
||||||
return err;
|
if (stream.avail_out == 0) {
|
||||||
|
stream.avail_out = left > (uLong)max ? max : (uInt)left;
|
||||||
|
left -= stream.avail_out;
|
||||||
|
}
|
||||||
|
if (stream.avail_in == 0) {
|
||||||
|
stream.avail_in = sourceLen > (uLong)max ? max : (uInt)sourceLen;
|
||||||
|
sourceLen -= stream.avail_in;
|
||||||
|
}
|
||||||
|
err = deflate(&stream, sourceLen ? Z_NO_FLUSH : Z_FINISH);
|
||||||
|
} while (err == Z_OK);
|
||||||
|
|
||||||
|
*destLen = stream.total_out;
|
||||||
|
deflateEnd(&stream);
|
||||||
|
return err == Z_STREAM_END ? Z_OK : err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ===========================================================================
|
/* ===========================================================================
|
@@ -18,6 +18,18 @@ echo -------------------- >> configure.log
|
|||||||
echo $0 $* >> configure.log
|
echo $0 $* >> configure.log
|
||||||
date >> configure.log
|
date >> configure.log
|
||||||
|
|
||||||
|
# get source directory
|
||||||
|
SRCDIR=`dirname $0`
|
||||||
|
if test $SRCDIR = "."; then
|
||||||
|
ZINC=""
|
||||||
|
ZINCOUT="-I."
|
||||||
|
SRCDIR=""
|
||||||
|
else
|
||||||
|
ZINC='-include zconf.h'
|
||||||
|
ZINCOUT='-I. -I$(SRCDIR)'
|
||||||
|
SRCDIR="$SRCDIR/"
|
||||||
|
fi
|
||||||
|
|
||||||
# set command prefix for cross-compilation
|
# set command prefix for cross-compilation
|
||||||
if [ -n "${CHOST}" ]; then
|
if [ -n "${CHOST}" ]; then
|
||||||
uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`"
|
uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`"
|
||||||
@@ -28,10 +40,10 @@ fi
|
|||||||
STATICLIB=libz.a
|
STATICLIB=libz.a
|
||||||
|
|
||||||
# extract zlib version numbers from zlib.h
|
# extract zlib version numbers from zlib.h
|
||||||
VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
|
VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < ${SRCDIR}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' < ${SRCDIR}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' < ${SRCDIR}zlib.h`
|
||||||
VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
|
VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < ${SRCDIR}zlib.h`
|
||||||
|
|
||||||
# establish commands for library building
|
# establish commands for library building
|
||||||
if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
|
if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
|
||||||
@@ -73,6 +85,8 @@ zprefix=0
|
|||||||
zconst=0
|
zconst=0
|
||||||
build64=0
|
build64=0
|
||||||
gcc=0
|
gcc=0
|
||||||
|
warn=0
|
||||||
|
debug=0
|
||||||
old_cc="$CC"
|
old_cc="$CC"
|
||||||
old_cflags="$CFLAGS"
|
old_cflags="$CFLAGS"
|
||||||
OBJC='$(OBJZ) $(OBJG)'
|
OBJC='$(OBJZ) $(OBJG)'
|
||||||
@@ -121,6 +135,8 @@ case "$1" in
|
|||||||
--sysconfdir=*) echo "ignored option: --sysconfdir" | tee -a configure.log; shift ;;
|
--sysconfdir=*) echo "ignored option: --sysconfdir" | tee -a configure.log; shift ;;
|
||||||
--localstatedir=*) echo "ignored option: --localstatedir" | tee -a configure.log; shift ;;
|
--localstatedir=*) echo "ignored option: --localstatedir" | tee -a configure.log; shift ;;
|
||||||
-c* | --const) zconst=1; shift ;;
|
-c* | --const) zconst=1; shift ;;
|
||||||
|
-w* | --warn) warn=1; shift ;;
|
||||||
|
-d* | --debug) debug=1; shift ;;
|
||||||
*)
|
*)
|
||||||
echo "unknown option: $1" | tee -a configure.log
|
echo "unknown option: $1" | tee -a configure.log
|
||||||
echo "$0 --help for help" | tee -a configure.log
|
echo "$0 --help for help" | tee -a configure.log
|
||||||
@@ -159,34 +175,42 @@ case "$cc" in
|
|||||||
esac
|
esac
|
||||||
case `$cc -v 2>&1` in
|
case `$cc -v 2>&1` in
|
||||||
*gcc*) gcc=1 ;;
|
*gcc*) gcc=1 ;;
|
||||||
|
*clang*) gcc=1 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
show $cc -c $test.c
|
show $cc -c $test.c
|
||||||
if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then
|
if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then
|
||||||
echo ... using gcc >> configure.log
|
echo ... using gcc >> configure.log
|
||||||
CC="$cc"
|
CC="$cc"
|
||||||
CFLAGS="${CFLAGS--O3} ${ARCHS}"
|
CFLAGS="${CFLAGS--O3}"
|
||||||
SFLAGS="${CFLAGS--O3} -fPIC"
|
SFLAGS="${CFLAGS--O3} -fPIC"
|
||||||
LDFLAGS="${LDFLAGS} ${ARCHS}"
|
if test "$ARCHS"; then
|
||||||
|
CFLAGS="${CFLAGS} ${ARCHS}"
|
||||||
|
LDFLAGS="${LDFLAGS} ${ARCHS}"
|
||||||
|
fi
|
||||||
if test $build64 -eq 1; then
|
if test $build64 -eq 1; then
|
||||||
CFLAGS="${CFLAGS} -m64"
|
CFLAGS="${CFLAGS} -m64"
|
||||||
SFLAGS="${SFLAGS} -m64"
|
SFLAGS="${SFLAGS} -m64"
|
||||||
fi
|
fi
|
||||||
if test "${ZLIBGCCWARN}" = "YES"; then
|
if test "$warn" -eq 1; then
|
||||||
if test "$zconst" -eq 1; then
|
if test "$zconst" -eq 1; then
|
||||||
CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual -pedantic -DZLIB_CONST"
|
CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual -pedantic -DZLIB_CONST"
|
||||||
else
|
else
|
||||||
CFLAGS="${CFLAGS} -Wall -Wextra -pedantic"
|
CFLAGS="${CFLAGS} -Wall -Wextra -pedantic"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
if test $debug -eq 1; then
|
||||||
|
CFLAGS="${CFLAGS} -DZLIB_DEBUG"
|
||||||
|
SFLAGS="${SFLAGS} -DZLIB_DEBUG"
|
||||||
|
fi
|
||||||
if test -z "$uname"; then
|
if test -z "$uname"; then
|
||||||
uname=`(uname -s || echo unknown) 2>/dev/null`
|
uname=`(uname -s || echo unknown) 2>/dev/null`
|
||||||
fi
|
fi
|
||||||
case "$uname" in
|
case "$uname" in
|
||||||
Linux* | linux* | GNU | GNU/* | solaris*)
|
Linux* | linux* | GNU | GNU/* | solaris*)
|
||||||
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
|
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}zlib.map"} ;;
|
||||||
*BSD | *bsd* | DragonFly)
|
*BSD | *bsd* | DragonFly)
|
||||||
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"}
|
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}zlib.map"}
|
||||||
LDCONFIG="ldconfig -m" ;;
|
LDCONFIG="ldconfig -m" ;;
|
||||||
CYGWIN* | Cygwin* | cygwin* | OS/2*)
|
CYGWIN* | Cygwin* | cygwin* | OS/2*)
|
||||||
EXE='.exe' ;;
|
EXE='.exe' ;;
|
||||||
@@ -287,6 +311,9 @@ else
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
if test -n "$ZINC"; then
|
||||||
|
ZINC='-I- -I. -I$(SRCDIR)'
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
|
SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
|
||||||
CFLAGS=${CFLAGS-"-O2"}
|
CFLAGS=${CFLAGS-"-O2"}
|
||||||
@@ -337,16 +364,16 @@ if ($CC -c $CFLAGS $test.c) 2>/dev/null; then
|
|||||||
}
|
}
|
||||||
echo - using any output from compiler to indicate an error >> configure.log
|
echo - using any output from compiler to indicate an error >> configure.log
|
||||||
else
|
else
|
||||||
try()
|
try()
|
||||||
{
|
{
|
||||||
show $*
|
show $*
|
||||||
( $* ) >> configure.log 2>&1
|
( $* ) >> configure.log 2>&1
|
||||||
ret=$?
|
ret=$?
|
||||||
if test $ret -ne 0; then
|
if test $ret -ne 0; then
|
||||||
echo "(exit code "$ret")" >> configure.log
|
echo "(exit code "$ret")" >> configure.log
|
||||||
fi
|
fi
|
||||||
return $ret
|
return $ret
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
tryboth()
|
tryboth()
|
||||||
@@ -422,6 +449,65 @@ esac
|
|||||||
|
|
||||||
echo >> configure.log
|
echo >> configure.log
|
||||||
|
|
||||||
|
# check for size_t
|
||||||
|
cat > $test.c <<EOF
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
size_t dummy = 0;
|
||||||
|
EOF
|
||||||
|
if try $CC -c $CFLAGS $test.c; then
|
||||||
|
echo "Checking for size_t... Yes." | tee -a configure.log
|
||||||
|
need_sizet=0
|
||||||
|
else
|
||||||
|
echo "Checking for size_t... No." | tee -a configure.log
|
||||||
|
need_sizet=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
|
|
||||||
|
# find the size_t integer type, if needed
|
||||||
|
if test $need_sizet -eq 1; then
|
||||||
|
cat > $test.c <<EOF
|
||||||
|
long long dummy = 0;
|
||||||
|
EOF
|
||||||
|
if try $CC -c $CFLAGS $test.c; then
|
||||||
|
echo "Checking for long long... Yes." | tee -a configure.log
|
||||||
|
cat > $test.c <<EOF
|
||||||
|
#include <stdio.h>
|
||||||
|
int main(void) {
|
||||||
|
if (sizeof(void *) <= sizeof(int)) puts("int");
|
||||||
|
else if (sizeof(void *) <= sizeof(long)) puts("long");
|
||||||
|
else puts("z_longlong");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
else
|
||||||
|
echo "Checking for long long... No." | tee -a configure.log
|
||||||
|
cat > $test.c <<EOF
|
||||||
|
#include <stdio.h>
|
||||||
|
int main(void) {
|
||||||
|
if (sizeof(void *) <= sizeof(int)) puts("int");
|
||||||
|
else puts("long");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
if try $CC $CFLAGS -o $test $test.c; then
|
||||||
|
sizet=`./$test`
|
||||||
|
echo "Checking for a pointer-size integer type..." $sizet"." | tee -a configure.log
|
||||||
|
else
|
||||||
|
echo "Failed to find a pointer-size integer type." | tee -a configure.log
|
||||||
|
leave 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $need_sizet -eq 1; then
|
||||||
|
CFLAGS="${CFLAGS} -DNO_SIZE_T=${sizet}"
|
||||||
|
SFLAGS="${SFLAGS} -DNO_SIZE_T=${sizet}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
|
|
||||||
# check for large file support, and if none, check for fseeko()
|
# check for large file support, and if none, check for fseeko()
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -470,7 +556,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# copy clean zconf.h for subsequent edits
|
# copy clean zconf.h for subsequent edits
|
||||||
cp -p zconf.h.in zconf.h
|
cp -p ${SRCDIR}zconf.h.in zconf.h
|
||||||
|
|
||||||
echo >> configure.log
|
echo >> configure.log
|
||||||
|
|
||||||
@@ -764,6 +850,7 @@ echo STATICLIB = $STATICLIB >> configure.log
|
|||||||
echo TEST = $TEST >> configure.log
|
echo TEST = $TEST >> configure.log
|
||||||
echo VER = $VER >> configure.log
|
echo VER = $VER >> configure.log
|
||||||
echo Z_U4 = $Z_U4 >> configure.log
|
echo Z_U4 = $Z_U4 >> configure.log
|
||||||
|
echo SRCDIR = $SRCDIR >> configure.log
|
||||||
echo exec_prefix = $exec_prefix >> configure.log
|
echo exec_prefix = $exec_prefix >> configure.log
|
||||||
echo includedir = $includedir >> configure.log
|
echo includedir = $includedir >> configure.log
|
||||||
echo libdir = $libdir >> configure.log
|
echo libdir = $libdir >> configure.log
|
||||||
@@ -773,7 +860,7 @@ echo sharedlibdir = $sharedlibdir >> configure.log
|
|||||||
echo uname = $uname >> configure.log
|
echo uname = $uname >> configure.log
|
||||||
|
|
||||||
# udpate Makefile with the configure results
|
# udpate Makefile with the configure results
|
||||||
sed < Makefile.in "
|
sed < ${SRCDIR}Makefile.in "
|
||||||
/^CC *=/s#=.*#=$CC#
|
/^CC *=/s#=.*#=$CC#
|
||||||
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
||||||
/^SFLAGS *=/s#=.*#=$SFLAGS#
|
/^SFLAGS *=/s#=.*#=$SFLAGS#
|
||||||
@@ -790,6 +877,9 @@ sed < Makefile.in "
|
|||||||
/^LDCONFIG *=/s#=.*#=$LDCONFIG#
|
/^LDCONFIG *=/s#=.*#=$LDCONFIG#
|
||||||
/^LDSHAREDLIBC *=/s#=.*#=$LDSHAREDLIBC#
|
/^LDSHAREDLIBC *=/s#=.*#=$LDSHAREDLIBC#
|
||||||
/^EXE *=/s#=.*#=$EXE#
|
/^EXE *=/s#=.*#=$EXE#
|
||||||
|
/^SRCDIR *=/s#=.*#=$SRCDIR#
|
||||||
|
/^ZINC *=/s#=.*#=$ZINC#
|
||||||
|
/^ZINCOUT *=/s#=.*#=$ZINCOUT#
|
||||||
/^prefix *=/s#=.*#=$prefix#
|
/^prefix *=/s#=.*#=$prefix#
|
||||||
/^exec_prefix *=/s#=.*#=$exec_prefix#
|
/^exec_prefix *=/s#=.*#=$exec_prefix#
|
||||||
/^libdir *=/s#=.*#=$libdir#
|
/^libdir *=/s#=.*#=$libdir#
|
||||||
@@ -803,7 +893,7 @@ sed < Makefile.in "
|
|||||||
" > Makefile
|
" > Makefile
|
||||||
|
|
||||||
# create zlib.pc with the configure results
|
# create zlib.pc with the configure results
|
||||||
sed < zlib.pc.in "
|
sed < ${SRCDIR}zlib.pc.in "
|
||||||
/^CC *=/s#=.*#=$CC#
|
/^CC *=/s#=.*#=$CC#
|
||||||
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
||||||
/^CPP *=/s#=.*#=$CPP#
|
/^CPP *=/s#=.*#=$CPP#
|
@@ -38,7 +38,7 @@ inflate86/ by Chris Anderson <christop@charm.net>
|
|||||||
iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
|
iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
|
||||||
A C++ I/O streams interface to the zlib gz* functions
|
A C++ I/O streams interface to the zlib gz* functions
|
||||||
|
|
||||||
iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
|
iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
|
||||||
Another C++ I/O streams interface
|
Another C++ I/O streams interface
|
||||||
|
|
||||||
iostream3/ by Ludwig Schwardt <schwardt@sun.ac.za>
|
iostream3/ by Ludwig Schwardt <schwardt@sun.ac.za>
|
||||||
@@ -58,7 +58,7 @@ masmx86/ by Gilles Vollant <info@winimage.com>
|
|||||||
minizip/ by Gilles Vollant <info@winimage.com>
|
minizip/ by Gilles Vollant <info@winimage.com>
|
||||||
Mini zip and unzip based on zlib
|
Mini zip and unzip based on zlib
|
||||||
Includes Zip64 support by Mathias Svensson <mathias@result42.com>
|
Includes Zip64 support by Mathias Svensson <mathias@result42.com>
|
||||||
See http://www.winimage.com/zLibDll/unzip.html
|
See http://www.winimage.com/zLibDll/minizip.html
|
||||||
|
|
||||||
pascal/ by Bob Dellaca <bobdl@xtra.co.nz> et al.
|
pascal/ by Bob Dellaca <bobdl@xtra.co.nz> et al.
|
||||||
Support for Pascal
|
Support for Pascal
|
@@ -31,7 +31,7 @@ package ZLib.Streams is
|
|||||||
Mode : in Flush_Mode := Sync_Flush);
|
Mode : in Flush_Mode := Sync_Flush);
|
||||||
-- Flush the written data to the back stream,
|
-- Flush the written data to the back stream,
|
||||||
-- all data placed to the compressor is flushing to the Back stream.
|
-- all data placed to the compressor is flushing to the Back stream.
|
||||||
-- Should not be used untill necessary, becouse it is decreasing
|
-- Should not be used until necessary, because it is decreasing
|
||||||
-- compression.
|
-- compression.
|
||||||
|
|
||||||
function Read_Total_In (Stream : in Stream_Type) return Count;
|
function Read_Total_In (Stream : in Stream_Type) return Count;
|
||||||
@@ -97,13 +97,13 @@ private
|
|||||||
Rest_Last : Stream_Element_Offset;
|
Rest_Last : Stream_Element_Offset;
|
||||||
-- Buffer for Read operation.
|
-- Buffer for Read operation.
|
||||||
-- We need to have this buffer in the record
|
-- We need to have this buffer in the record
|
||||||
-- becouse not all read data from back stream
|
-- because not all read data from back stream
|
||||||
-- could be processed during the read operation.
|
-- could be processed during the read operation.
|
||||||
|
|
||||||
Buffer_Size : Stream_Element_Offset;
|
Buffer_Size : Stream_Element_Offset;
|
||||||
-- Buffer size for write operation.
|
-- Buffer size for write operation.
|
||||||
-- We do not need to have this buffer
|
-- We do not need to have this buffer
|
||||||
-- in the record becouse all data could be
|
-- in the record because all data could be
|
||||||
-- processed in the write operation.
|
-- processed in the write operation.
|
||||||
|
|
||||||
Back : Stream_Access;
|
Back : Stream_Access;
|
@@ -436,7 +436,7 @@ private
|
|||||||
|
|
||||||
pragma Import (C, inflateBackInit, "inflateBackInit_");
|
pragma Import (C, inflateBackInit, "inflateBackInit_");
|
||||||
|
|
||||||
-- I stopped binding the inflateBack routines, becouse realize that
|
-- I stopped binding the inflateBack routines, because realize that
|
||||||
-- it does not support zlib and gzip headers for now, and have no
|
-- it does not support zlib and gzip headers for now, and have no
|
||||||
-- symmetric deflateBack routines.
|
-- symmetric deflateBack routines.
|
||||||
-- ZLib-Ada is symmetric regarding deflate/inflate data transformation
|
-- ZLib-Ada is symmetric regarding deflate/inflate data transformation
|
@@ -1,7 +1,7 @@
|
|||||||
/* blast.c
|
/* blast.c
|
||||||
* Copyright (C) 2003, 2012 Mark Adler
|
* Copyright (C) 2003, 2012, 2013 Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in blast.h
|
* For conditions of distribution and use, see copyright notice in blast.h
|
||||||
* version 1.2, 24 Oct 2012
|
* version 1.3, 24 Aug 2013
|
||||||
*
|
*
|
||||||
* blast.c decompresses data compressed by the PKWare Compression Library.
|
* blast.c decompresses data compressed by the PKWare Compression Library.
|
||||||
* This function provides functionality similar to the explode() function of
|
* This function provides functionality similar to the explode() function of
|
||||||
@@ -24,8 +24,12 @@
|
|||||||
* 1.1 16 Feb 2003 - Fixed distance check for > 4 GB uncompressed data
|
* 1.1 16 Feb 2003 - Fixed distance check for > 4 GB uncompressed data
|
||||||
* 1.2 24 Oct 2012 - Add note about using binary mode in stdio
|
* 1.2 24 Oct 2012 - Add note about using binary mode in stdio
|
||||||
* - Fix comparisons of differently signed integers
|
* - Fix comparisons of differently signed integers
|
||||||
|
* 1.3 24 Aug 2013 - Return unused input from blast()
|
||||||
|
* - Fix test code to correctly report unused input
|
||||||
|
* - Enable the provision of initial input to blast()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <stddef.h> /* for NULL */
|
||||||
#include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
|
#include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
|
||||||
#include "blast.h" /* prototype for blast() */
|
#include "blast.h" /* prototype for blast() */
|
||||||
|
|
||||||
@@ -256,7 +260,7 @@ local int construct(struct huffman *h, const unsigned char *rep, int n)
|
|||||||
* next, 0 for literals, 1 for length/distance.
|
* next, 0 for literals, 1 for length/distance.
|
||||||
*
|
*
|
||||||
* - If literals are uncoded, then the next eight bits are the literal, in the
|
* - If literals are uncoded, then the next eight bits are the literal, in the
|
||||||
* normal bit order in th stream, i.e. no bit-reversal is needed. Similarly,
|
* normal bit order in the stream, i.e. no bit-reversal is needed. Similarly,
|
||||||
* no bit reversal is needed for either the length extra bits or the distance
|
* no bit reversal is needed for either the length extra bits or the distance
|
||||||
* extra bits.
|
* extra bits.
|
||||||
*
|
*
|
||||||
@@ -376,7 +380,8 @@ local int decomp(struct state *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* See comments in blast.h */
|
/* See comments in blast.h */
|
||||||
int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow)
|
int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow,
|
||||||
|
unsigned *left, unsigned char **in)
|
||||||
{
|
{
|
||||||
struct state s; /* input/output state */
|
struct state s; /* input/output state */
|
||||||
int err; /* return value */
|
int err; /* return value */
|
||||||
@@ -384,7 +389,12 @@ int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow)
|
|||||||
/* initialize input state */
|
/* initialize input state */
|
||||||
s.infun = infun;
|
s.infun = infun;
|
||||||
s.inhow = inhow;
|
s.inhow = inhow;
|
||||||
s.left = 0;
|
if (left != NULL && *left) {
|
||||||
|
s.left = *left;
|
||||||
|
s.in = *in;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
s.left = 0;
|
||||||
s.bitbuf = 0;
|
s.bitbuf = 0;
|
||||||
s.bitcnt = 0;
|
s.bitcnt = 0;
|
||||||
|
|
||||||
@@ -400,6 +410,12 @@ int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow)
|
|||||||
else
|
else
|
||||||
err = decomp(&s); /* decompress */
|
err = decomp(&s); /* decompress */
|
||||||
|
|
||||||
|
/* return unused input */
|
||||||
|
if (left != NULL)
|
||||||
|
*left = s.left;
|
||||||
|
if (in != NULL)
|
||||||
|
*in = s.left ? s.in : NULL;
|
||||||
|
|
||||||
/* write any leftover output and update the error code if needed */
|
/* write any leftover output and update the error code if needed */
|
||||||
if (err != 1 && s.next && s.outfun(s.outhow, s.out, s.next) && err == 0)
|
if (err != 1 && s.next && s.outfun(s.outhow, s.out, s.next) && err == 0)
|
||||||
err = 1;
|
err = 1;
|
||||||
@@ -429,16 +445,20 @@ local int outf(void *how, unsigned char *buf, unsigned len)
|
|||||||
/* Decompress a PKWare Compression Library stream from stdin to stdout */
|
/* Decompress a PKWare Compression Library stream from stdin to stdout */
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
int ret, n;
|
int ret;
|
||||||
|
unsigned left;
|
||||||
|
|
||||||
/* decompress to stdout */
|
/* decompress to stdout */
|
||||||
ret = blast(inf, stdin, outf, stdout);
|
left = 0;
|
||||||
if (ret != 0) fprintf(stderr, "blast error: %d\n", ret);
|
ret = blast(inf, stdin, outf, stdout, &left, NULL);
|
||||||
|
if (ret != 0)
|
||||||
|
fprintf(stderr, "blast error: %d\n", ret);
|
||||||
|
|
||||||
/* see if there are any leftover bytes */
|
/* count any leftover bytes */
|
||||||
n = 0;
|
while (getchar() != EOF)
|
||||||
while (getchar() != EOF) n++;
|
left++;
|
||||||
if (n) fprintf(stderr, "blast warning: %d unused bytes of input\n", n);
|
if (left)
|
||||||
|
fprintf(stderr, "blast warning: %u unused bytes of input\n", left);
|
||||||
|
|
||||||
/* return blast() error code */
|
/* return blast() error code */
|
||||||
return ret;
|
return ret;
|
@@ -1,6 +1,6 @@
|
|||||||
/* blast.h -- interface for blast.c
|
/* blast.h -- interface for blast.c
|
||||||
Copyright (C) 2003, 2012 Mark Adler
|
Copyright (C) 2003, 2012, 2013 Mark Adler
|
||||||
version 1.2, 24 Oct 2012
|
version 1.3, 24 Aug 2013
|
||||||
|
|
||||||
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
|
||||||
@@ -42,7 +42,8 @@ typedef int (*blast_out)(void *how, unsigned char *buf, unsigned len);
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow);
|
int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow,
|
||||||
|
unsigned *left, unsigned char **in);
|
||||||
/* Decompress input to output using the provided infun() and outfun() calls.
|
/* Decompress input to output using the provided infun() and outfun() calls.
|
||||||
* On success, the return value of blast() is zero. If there is an error in
|
* On success, the return value of blast() is zero. If there is an error in
|
||||||
* the source data, i.e. it is not in the proper format, then a negative value
|
* the source data, i.e. it is not in the proper format, then a negative value
|
||||||
@@ -55,12 +56,19 @@ int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow);
|
|||||||
* an input error. (blast() only asks for input if it needs it.) inhow is for
|
* an input error. (blast() only asks for input if it needs it.) inhow is for
|
||||||
* use by the application to pass an input descriptor to infun(), if desired.
|
* use by the application to pass an input descriptor to infun(), if desired.
|
||||||
*
|
*
|
||||||
|
* If left and in are not NULL and *left is not zero when blast() is called,
|
||||||
|
* then the *left bytes are *in are consumed for input before infun() is used.
|
||||||
|
*
|
||||||
* The output function is invoked: err = outfun(how, buf, len), where the bytes
|
* The output function is invoked: err = outfun(how, buf, len), where the bytes
|
||||||
* to be written are buf[0..len-1]. If err is not zero, then blast() returns
|
* to be written are buf[0..len-1]. If err is not zero, then blast() returns
|
||||||
* with an output error. outfun() is always called with len <= 4096. outhow
|
* with an output error. outfun() is always called with len <= 4096. outhow
|
||||||
* is for use by the application to pass an output descriptor to outfun(), if
|
* is for use by the application to pass an output descriptor to outfun(), if
|
||||||
* desired.
|
* desired.
|
||||||
*
|
*
|
||||||
|
* If there is any unused input, *left is set to the number of bytes that were
|
||||||
|
* read and *in points to them. Otherwise *left is set to zero and *in is set
|
||||||
|
* to NULL. If left or in are NULL, then they are not set.
|
||||||
|
*
|
||||||
* The return codes are:
|
* The return codes are:
|
||||||
*
|
*
|
||||||
* 2: ran out of input before completing decompression
|
* 2: ran out of input before completing decompression
|
@@ -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.8';
|
zlib_version = '1.2.11';
|
||||||
|
|
||||||
type
|
type
|
||||||
EZlibError = class(Exception);
|
EZlibError = class(Exception);
|
@@ -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.8", Info.Version);
|
Assert.AreEqual("1.2.11", 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);
|
@@ -1,5 +1,5 @@
|
|||||||
/* inftree9.c -- generate Huffman trees for efficient decoding
|
/* inftree9.c -- generate Huffman trees for efficient decoding
|
||||||
* Copyright (C) 1995-2013 Mark Adler
|
* Copyright (C) 1995-2017 Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
#define MAXBITS 15
|
#define MAXBITS 15
|
||||||
|
|
||||||
const char inflate9_copyright[] =
|
const char inflate9_copyright[] =
|
||||||
" inflate9 1.2.8 Copyright 1995-2013 Mark Adler ";
|
" inflate9 1.2.11 Copyright 1995-2017 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, 72, 78};
|
133, 133, 133, 133, 144, 77, 202};
|
||||||
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,
|
@@ -1,7 +1,7 @@
|
|||||||
# -*- Autoconf -*-
|
# -*- Autoconf -*-
|
||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_INIT([minizip], [1.2.8], [bugzilla.redhat.com])
|
AC_INIT([minizip], [1.2.11], [bugzilla.redhat.com])
|
||||||
AC_CONFIG_SRCDIR([minizip.c])
|
AC_CONFIG_SRCDIR([minizip.c])
|
||||||
AM_INIT_AUTOMAKE([foreign])
|
AM_INIT_AUTOMAKE([foreign])
|
||||||
LT_INIT
|
LT_INIT
|
@@ -26,8 +26,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// see Include/shared/winapifamily.h in the Windows Kit
|
||||||
#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
|
#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
|
||||||
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
|
#if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP)
|
||||||
#define IOWIN32_USING_WINRT_API 1
|
#define IOWIN32_USING_WINRT_API 1
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
@@ -243,7 +244,7 @@ static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER *n
|
|||||||
return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod);
|
return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod);
|
||||||
#else
|
#else
|
||||||
LONG lHigh = pos.HighPart;
|
LONG lHigh = pos.HighPart;
|
||||||
DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, FILE_CURRENT);
|
DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, dwMoveMethod);
|
||||||
BOOL fOk = TRUE;
|
BOOL fOk = TRUE;
|
||||||
if (dwNewPos == 0xFFFFFFFF)
|
if (dwNewPos == 0xFFFFFFFF)
|
||||||
if (GetLastError() != NO_ERROR)
|
if (GetLastError() != NO_ERROR)
|
||||||
@@ -370,7 +371,7 @@ long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T off
|
|||||||
{
|
{
|
||||||
LARGE_INTEGER pos;
|
LARGE_INTEGER pos;
|
||||||
pos.QuadPart = offset;
|
pos.QuadPart = offset;
|
||||||
if (!MySetFilePointerEx(hFile, pos, NULL, FILE_CURRENT))
|
if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod))
|
||||||
{
|
{
|
||||||
DWORD dwErr = GetLastError();
|
DWORD dwErr = GetLastError();
|
||||||
((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
|
((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user