Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d6231142d2 | ||
|
|
b1c19ca6d8 | ||
|
|
abf180a067 | ||
|
|
9c3a583021 |
100
ChangeLog
100
ChangeLog
@@ -1,6 +1,104 @@
|
|||||||
|
|
||||||
ChangeLog file for zlib
|
ChangeLog file for zlib
|
||||||
|
|
||||||
|
Changes in 1.2.3.2 (3 September 2006)
|
||||||
|
- Turn off silly Borland warnings [Hay]
|
||||||
|
- Use off64_t and define _LARGEFILE64_SOURCE when present
|
||||||
|
- Fix missing dependency on inffixed.h in Makefile.in
|
||||||
|
- Rig configure --shared to build both shared and static [Teredesai, Truta]
|
||||||
|
- Remove zconf.in.h and instead create a new zlibdefs.h file
|
||||||
|
- Fix contrib/minizip/unzip.c non-encrypted after encrypted [Vollant]
|
||||||
|
- Add treebuild.xml (see http://treebuild.metux.de/) [Weigelt]
|
||||||
|
|
||||||
|
Changes in 1.2.3.1 (16 August 2006)
|
||||||
|
- Add watcom directory with OpenWatcom make files [Daniel]
|
||||||
|
- Remove #undef of FAR in zconf.in.h for MVS [Fedtke]
|
||||||
|
- Update make_vms.com [Zinser]
|
||||||
|
- Use -fPIC for shared build in configure [Teredesai, Nicholson]
|
||||||
|
- Use only major version number for libz.so on IRIX and OSF1 [Reinholdtsen]
|
||||||
|
- Use fdopen() (not _fdopen()) for Interix in zutil.h [B<>ck]
|
||||||
|
- Add some FAQ entries about the contrib directory
|
||||||
|
- Update the MVS question in the FAQ
|
||||||
|
- Avoid extraneous reads after EOF in gzio.c [Brown]
|
||||||
|
- Correct spelling of "successfully" in gzio.c [Randers-Pehrson]
|
||||||
|
- Add comments to zlib.h about gzerror() usage [Brown]
|
||||||
|
- Set extra flags in gzip header in gzopen() like deflate() does
|
||||||
|
- Make configure options more compatible with double-dash conventions
|
||||||
|
[Weigelt]
|
||||||
|
- Clean up compilation under Solaris SunStudio cc [Rowe, Reinholdtsen]
|
||||||
|
- Fix uninstall target in Makefile.in [Truta]
|
||||||
|
- Add pkgconfig support [Weigelt]
|
||||||
|
- Use $(DESTDIR) macro in Makefile.in [Reinholdtsen, Weigelt]
|
||||||
|
- Replace set_data_type() with a more accurate detect_data_type() in
|
||||||
|
trees.c, according to the txtvsbin.txt document [Truta]
|
||||||
|
- Swap the order of #include <stdio.h> and #include "zlib.h" in
|
||||||
|
gzio.c, example.c and minigzip.c [Truta]
|
||||||
|
- Shut up annoying VS2005 warnings about standard C deprecation [Rowe,
|
||||||
|
Truta] (where?)
|
||||||
|
- Fix target "clean" from win32/Makefile.bor [Truta]
|
||||||
|
- Create .pdb and .manifest files in win32/makefile.msc [Ziegler, Rowe]
|
||||||
|
- Update zlib www home address in win32/DLL_FAQ.txt [Truta]
|
||||||
|
- Update contrib/masmx86/inffas32.asm for VS2005 [Vollant, Van Wassenhove]
|
||||||
|
- Enable browse info in the "Debug" and "ASM Debug" configurations in
|
||||||
|
the Visual C++ 6 project, and set (non-ASM) "Debug" as default [Truta]
|
||||||
|
- Add pkgconfig support [Weigelt]
|
||||||
|
- Add ZLIB_VER_MAJOR, ZLIB_VER_MINOR and ZLIB_VER_REVISION in zlib.h,
|
||||||
|
for use in win32/zlib1.rc [Polushin, Rowe, Truta]
|
||||||
|
- Add a document that explains the new text detection scheme to
|
||||||
|
doc/txtvsbin.txt [Truta]
|
||||||
|
- Add rfc1950.txt, rfc1951.txt and rfc1952.txt to doc/ [Truta]
|
||||||
|
- Move algorithm.txt into doc/ [Truta]
|
||||||
|
- Synchronize FAQ with website
|
||||||
|
- Fix compressBound(), was low for some pathological cases [Fearnley]
|
||||||
|
- Take into account wrapper variations in deflateBound()
|
||||||
|
- Set examples/zpipe.c input and output to binary mode for Windows
|
||||||
|
- Update examples/zlib_how.html with new zpipe.c (also web site)
|
||||||
|
- Fix some warnings in examples/gzlog.c and examples/zran.c (it seems
|
||||||
|
that gcc became pickier in 4.0)
|
||||||
|
- Add zlib.map for Linux: "All symbols from zlib-1.1.4 remain
|
||||||
|
un-versioned, the patch adds versioning only for symbols introduced in
|
||||||
|
zlib-1.2.0 or later. It also declares as local those symbols which are
|
||||||
|
not designed to be exported." [Levin]
|
||||||
|
- Update Z_PREFIX list in zconf.in.h, add --zprefix option to configure
|
||||||
|
- Do not initialize global static by default in trees.c, add a response
|
||||||
|
NO_INIT_GLOBAL_POINTERS to initialize them if needed [Marquess]
|
||||||
|
- Don't use strerror() in gzio.c under WinCE [Yakimov]
|
||||||
|
- Don't use errno.h in zutil.h under WinCE [Yakimov]
|
||||||
|
- Move arguments for AR to its usage to allow replacing ar [Marot]
|
||||||
|
- Add HAVE_VISIBILITY_PRAGMA in zconf.in.h for Mozilla [Randers-Pehrson]
|
||||||
|
- Improve inflateInit() and inflateInit2() documentation
|
||||||
|
- Fix structure size comment in inflate.h
|
||||||
|
- Change configure help option from --h* to --help [Santos]
|
||||||
|
|
||||||
|
Changes in 1.2.3 (18 July 2005)
|
||||||
|
- Apply security vulnerability fixes to contrib/infback9 as well
|
||||||
|
- Clean up some text files (carriage returns, trailing space)
|
||||||
|
- Update testzlib, vstudio, masmx64, and masmx86 in contrib [Vollant]
|
||||||
|
|
||||||
|
Changes in 1.2.2.4 (11 July 2005)
|
||||||
|
- Add inflatePrime() function for starting inflation at bit boundary
|
||||||
|
- Avoid some Visual C warnings in deflate.c
|
||||||
|
- Avoid more silly Visual C warnings in inflate.c and inftrees.c for 64-bit
|
||||||
|
compile
|
||||||
|
- Fix some spelling errors in comments [Betts]
|
||||||
|
- Correct inflateInit2() error return documentation in zlib.h
|
||||||
|
- Added zran.c example of compressed data random access to examples
|
||||||
|
directory, shows use of inflatePrime()
|
||||||
|
- Fix cast for assignments to strm->state in inflate.c and infback.c
|
||||||
|
- Fix zlibCompileFlags() in zutil.c to use 1L for long shifts [Oberhumer]
|
||||||
|
- Move declarations of gf2 functions to right place in crc32.c [Oberhumer]
|
||||||
|
- Add cast in trees.c t avoid a warning [Oberhumer]
|
||||||
|
- Avoid some warnings in fitblk.c, gun.c, gzjoin.c in examples [Oberhumer]
|
||||||
|
- Update make_vms.com [Zinser]
|
||||||
|
- Initialize state->write in inflateReset() since copied in inflate_fast()
|
||||||
|
- Be more strict on incomplete code sets in inflate_table() and increase
|
||||||
|
ENOUGH and MAXD -- this repairs a possible security vulnerability for
|
||||||
|
invalid inflate input. Thanks to Tavis Ormandy and Markus Oberhumer for
|
||||||
|
discovering the vulnerability and providing test cases.
|
||||||
|
- Add ia64 support to configure for HP-UX [Smith]
|
||||||
|
- Add error return to gzread() for format or i/o error [Levin]
|
||||||
|
- Use malloc.h for OS/2 [Necasek]
|
||||||
|
|
||||||
Changes in 1.2.2.3 (27 May 2005)
|
Changes in 1.2.2.3 (27 May 2005)
|
||||||
- Replace 1U constants in inflate.c and inftrees.c for 64-bit compile
|
- Replace 1U constants in inflate.c and inftrees.c for 64-bit compile
|
||||||
- Typecast fread() return values in gzio.c [Vollant]
|
- Typecast fread() return values in gzio.c [Vollant]
|
||||||
@@ -511,7 +609,7 @@ Changes in 1.0.7 (20 Jan 1998)
|
|||||||
Changes in 1.0.6 (19 Jan 1998)
|
Changes in 1.0.6 (19 Jan 1998)
|
||||||
- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and
|
- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and
|
||||||
gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code)
|
gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code)
|
||||||
- Fix a deflate bug occuring only with compression level 0 (thanks to
|
- Fix a deflate bug occurring only with compression level 0 (thanks to
|
||||||
Andy Buckler for finding this one).
|
Andy Buckler for finding this one).
|
||||||
- In minigzip, pass transparently also the first byte for .Z files.
|
- In minigzip, pass transparently also the first byte for .Z files.
|
||||||
- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress()
|
- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress()
|
||||||
|
|||||||
40
FAQ
40
FAQ
@@ -77,7 +77,7 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
11. Can zlib handle .zip archives?
|
11. Can zlib handle .zip archives?
|
||||||
|
|
||||||
Not by itself, no. See the directory contrib/minizip in the zlib
|
Not by itself, no. See the directory contrib/minizip in the zlib
|
||||||
distribution.
|
distribution.
|
||||||
|
|
||||||
12. Can zlib handle .Z files?
|
12. Can zlib handle .Z files?
|
||||||
@@ -217,10 +217,14 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
29. Does zlib work on MVS, OS/390, CICS, etc.?
|
29. Does zlib work on MVS, OS/390, CICS, etc.?
|
||||||
|
|
||||||
We don't know for sure. We have heard occasional reports of success on
|
Yes, there are working ports of zlib 1.1.4 to MVS which you can find
|
||||||
these systems. If you do use it on one of these, please provide us with
|
here:
|
||||||
a report, instructions, and patches that we can reference when we get
|
|
||||||
these questions. Thanks.
|
http://www.homerow.net/asm/zlib390.htm
|
||||||
|
http://www.homerow.net/asm/zlibLE.htm
|
||||||
|
|
||||||
|
If these are updated to more recent versions of zlib, please let us
|
||||||
|
know. Thanks.
|
||||||
|
|
||||||
30. Is there some simpler, easier to read version of inflate I can look at
|
30. Is there some simpler, easier to read version of inflate I can look at
|
||||||
to understand the deflate format?
|
to understand the deflate format?
|
||||||
@@ -271,7 +275,9 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
http://www.ijs.si/software/snprintf/
|
http://www.ijs.si/software/snprintf/
|
||||||
|
|
||||||
Note that you should be using the most recent version of zlib. Versions
|
Note that you should be using the most recent version of zlib. Versions
|
||||||
1.1.3 and before were subject to a double-free vulnerability.
|
1.1.3 and before were subject to a double-free vulnerability, and version
|
||||||
|
1.2.1 was subject to an access exception when decompressing invalid
|
||||||
|
compressed data.
|
||||||
|
|
||||||
34. Is there a Java version of zlib?
|
34. Is there a Java version of zlib?
|
||||||
|
|
||||||
@@ -292,8 +298,8 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
performing a conditional jump that depends on an uninitialized value.
|
performing a conditional jump that depends on an uninitialized value.
|
||||||
Isn't that a bug?
|
Isn't that a bug?
|
||||||
|
|
||||||
No. That is intentional for performance reasons, and the output of
|
No. That is intentional for performance reasons, and the output of
|
||||||
deflate is not affected. This only started showing up recently since
|
deflate is not affected. This only started showing up recently since
|
||||||
zlib 1.2.x uses malloc() by default for allocations, whereas earlier
|
zlib 1.2.x uses malloc() by default for allocations, whereas earlier
|
||||||
versions used calloc(), which zeros out the allocated memory.
|
versions used calloc(), which zeros out the allocated memory.
|
||||||
|
|
||||||
@@ -333,7 +339,23 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
In any case, the compression improvements are so modest compared to other
|
In any case, the compression improvements are so modest compared to other
|
||||||
more modern approaches, that it's not worth the effort to implement.
|
more modern approaches, that it's not worth the effort to implement.
|
||||||
|
|
||||||
41. Can you please sign these lengthy legal documents and fax them back to us
|
41. I'm having a problem with the zip functions in zlib, can you help?
|
||||||
|
|
||||||
|
There are no zip functions in zlib. You are probably using minizip by
|
||||||
|
Giles Vollant, which is found in the contrib directory of zlib. It is not
|
||||||
|
part of zlib. In fact none of the stuff in contrib is part of zlib. The
|
||||||
|
files in there are not supported by the zlib authors. You need to contact
|
||||||
|
the authors of the contribution for help.
|
||||||
|
|
||||||
|
42. The match.asm code in contrib is under the GNU General Public License.
|
||||||
|
Since it's part of zlib, doesn't that mean that all of zlib falls under the
|
||||||
|
GNU GPL?
|
||||||
|
|
||||||
|
No. The files in contrib are not part of zlib. They were contributed by
|
||||||
|
other authors and are provided as a convenience to the user within the zlib
|
||||||
|
distribution. Each of the items in contrib have their own license.
|
||||||
|
|
||||||
|
43. Can you please sign these lengthy legal documents and fax them back to us
|
||||||
so that we can use your software in our product?
|
so that we can use your software in our product?
|
||||||
|
|
||||||
No. Go away. Shoo.
|
No. Go away. Shoo.
|
||||||
|
|||||||
13
INDEX
13
INDEX
@@ -4,22 +4,28 @@ INDEX this file
|
|||||||
Makefile makefile for Unix (generated by configure)
|
Makefile makefile for Unix (generated by configure)
|
||||||
Makefile.in makefile for Unix (template for configure)
|
Makefile.in makefile for Unix (template for configure)
|
||||||
README guess what
|
README guess what
|
||||||
algorithm.txt description of the (de)compression algorithm
|
|
||||||
configure configure script for Unix
|
configure configure script for Unix
|
||||||
zconf.in.h template for zconf.h (used by configure)
|
make_vms.com makefile for VMS
|
||||||
|
treebuild.xml see http://treebuild.metux.de/
|
||||||
|
zlib.3 Man page for zlib
|
||||||
|
zlib.map Linux symbol information
|
||||||
|
zlib.pc.in Template for pkg-config descriptor
|
||||||
|
|
||||||
amiga/ makefiles for Amiga SAS C
|
amiga/ makefiles for Amiga SAS C
|
||||||
as400/ makefiles for IBM AS/400
|
as400/ makefiles for IBM AS/400
|
||||||
|
doc/ documentation for formats and algorithms
|
||||||
msdos/ makefiles for MSDOS
|
msdos/ makefiles for MSDOS
|
||||||
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
|
projects/ projects for various Integrated Development Environments
|
||||||
qnx/ makefiles for QNX
|
qnx/ makefiles for QNX
|
||||||
|
watcom/ makefiles for OpenWatcom
|
||||||
win32/ makefiles for Windows
|
win32/ makefiles for Windows
|
||||||
|
|
||||||
zlib public header files (must be kept):
|
zlib public header files (required for library use):
|
||||||
zconf.h
|
zconf.h
|
||||||
zlib.h
|
zlib.h
|
||||||
|
zlibdefs.h
|
||||||
|
|
||||||
private source files used to build the zlib library:
|
private source files used to build the zlib library:
|
||||||
adler32.c
|
adler32.c
|
||||||
@@ -46,6 +52,7 @@ zutil.h
|
|||||||
source files for sample programs:
|
source files for sample programs:
|
||||||
example.c
|
example.c
|
||||||
minigzip.c
|
minigzip.c
|
||||||
|
See examples/README.examples for more
|
||||||
|
|
||||||
unsupported contribution by third parties
|
unsupported contribution by third parties
|
||||||
See contrib/README.contrib
|
See contrib/README.contrib
|
||||||
|
|||||||
120
Makefile
120
Makefile
@@ -1,5 +1,5 @@
|
|||||||
# Makefile for zlib
|
# Makefile for zlib
|
||||||
# Copyright (C) 1995-2003 Jean-loup Gailly.
|
# Copyright (C) 1995-2006 Jean-loup Gailly.
|
||||||
# For conditions of distribution and use, see copyright notice in zlib.h
|
# For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
|
|
||||||
# To compile and test, type:
|
# To compile and test, type:
|
||||||
@@ -24,16 +24,18 @@ CFLAGS=-O
|
|||||||
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
|
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
|
||||||
# -Wstrict-prototypes -Wmissing-prototypes
|
# -Wstrict-prototypes -Wmissing-prototypes
|
||||||
|
|
||||||
|
SFLAGS=-O
|
||||||
|
|
||||||
LDFLAGS=libz.a
|
LDFLAGS=libz.a
|
||||||
LDSHARED=$(CC)
|
LDSHARED=$(CC)
|
||||||
CPP=$(CC) -E
|
CPP=$(CC) -E
|
||||||
|
|
||||||
LIBS=libz.a
|
LIBS=libz.a
|
||||||
SHAREDLIB=libz.so
|
SHAREDLIB=libz.so
|
||||||
SHAREDLIBV=libz.so.1.2.2.3
|
SHAREDLIBV=libz.so.1.2.3.2
|
||||||
SHAREDLIBM=libz.so.1
|
SHAREDLIBM=libz.so.1
|
||||||
|
|
||||||
AR=ar rc
|
AR=ar
|
||||||
RANLIB=ranlib
|
RANLIB=ranlib
|
||||||
TAR=tar
|
TAR=tar
|
||||||
SHELL=/bin/sh
|
SHELL=/bin/sh
|
||||||
@@ -45,13 +47,18 @@ libdir = ${exec_prefix}/lib
|
|||||||
includedir = ${prefix}/include
|
includedir = ${prefix}/include
|
||||||
mandir = ${prefix}/share/man
|
mandir = ${prefix}/share/man
|
||||||
man3dir = ${mandir}/man3
|
man3dir = ${mandir}/man3
|
||||||
|
pkgconfigdir = ${libdir}/pkgconfig
|
||||||
|
|
||||||
OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
|
OBJC = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
|
||||||
zutil.o inflate.o infback.o inftrees.o inffast.o
|
zutil.o inflate.o infback.o inftrees.o inffast.o
|
||||||
|
|
||||||
OBJA =
|
OBJA =
|
||||||
# to use the asm code: make OBJA=match.o
|
# to use the asm code: make OBJA=match.o
|
||||||
|
|
||||||
|
OBJS = $(OBJC) $(OBJA)
|
||||||
|
|
||||||
|
PIC_OBJS = $(OBJS:%.o=%.lo)
|
||||||
|
|
||||||
TEST_OBJS = example.o minigzip.o
|
TEST_OBJS = example.o minigzip.o
|
||||||
|
|
||||||
all: example$(EXE) minigzip$(EXE)
|
all: example$(EXE) minigzip$(EXE)
|
||||||
@@ -67,8 +74,8 @@ test: all
|
|||||||
echo ' *** zlib test FAILED ***'; \
|
echo ' *** zlib test FAILED ***'; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
libz.a: $(OBJS) $(OBJA)
|
libz.a: $(OBJS)
|
||||||
$(AR) $@ $(OBJS) $(OBJA)
|
$(AR) $@ $(OBJS)
|
||||||
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
|
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
|
||||||
|
|
||||||
match.o: match.S
|
match.o: match.S
|
||||||
@@ -77,8 +84,17 @@ match.o: match.S
|
|||||||
mv _match.o match.o
|
mv _match.o match.o
|
||||||
rm -f _match.s
|
rm -f _match.s
|
||||||
|
|
||||||
$(SHAREDLIBV): $(OBJS)
|
match.lo: match.S
|
||||||
$(LDSHARED) -o $@ $(OBJS)
|
$(CPP) match.S > _match.s
|
||||||
|
$(CC) -c -fPIC _match.s
|
||||||
|
mv _match.o match.lo
|
||||||
|
rm -f _match.s
|
||||||
|
|
||||||
|
%.lo: %.c
|
||||||
|
$(CC) $(SFLAGS) -DPIC -c $< -o $@
|
||||||
|
|
||||||
|
$(SHAREDLIBV): $(PIC_OBJS)
|
||||||
|
$(LDSHARED) -o $@ $(PIC_OBJS) -lc
|
||||||
rm -f $(SHAREDLIB) $(SHAREDLIBM)
|
rm -f $(SHAREDLIB) $(SHAREDLIBM)
|
||||||
ln -s $@ $(SHAREDLIB)
|
ln -s $@ $(SHAREDLIB)
|
||||||
ln -s $@ $(SHAREDLIBM)
|
ln -s $@ $(SHAREDLIBM)
|
||||||
@@ -89,46 +105,53 @@ example$(EXE): example.o $(LIBS)
|
|||||||
minigzip$(EXE): minigzip.o $(LIBS)
|
minigzip$(EXE): minigzip.o $(LIBS)
|
||||||
$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
|
$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
|
||||||
|
|
||||||
install: $(LIBS)
|
install-libs: $(LIBS)
|
||||||
-@if [ ! -d $(exec_prefix) ]; then mkdir -p $(exec_prefix); fi
|
-@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
|
||||||
-@if [ ! -d $(includedir) ]; then mkdir -p $(includedir); fi
|
-@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi
|
||||||
-@if [ ! -d $(libdir) ]; then mkdir -p $(libdir); fi
|
-@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
|
||||||
-@if [ ! -d $(man3dir) ]; then mkdir -p $(man3dir); fi
|
-@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
|
||||||
cp zlib.h zconf.h $(includedir)
|
cp $(LIBS) $(DESTDIR)$(libdir)
|
||||||
chmod 644 $(includedir)/zlib.h $(includedir)/zconf.h
|
cd $(DESTDIR)$(libdir); chmod 755 $(LIBS)
|
||||||
cp $(LIBS) $(libdir)
|
-@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1
|
||||||
cd $(libdir); chmod 755 $(LIBS)
|
cd $(DESTDIR)$(libdir); if test -f $(SHAREDLIBV); then \
|
||||||
-@(cd $(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1
|
|
||||||
cd $(libdir); if test -f $(SHAREDLIBV); then \
|
|
||||||
rm -f $(SHAREDLIB) $(SHAREDLIBM); \
|
rm -f $(SHAREDLIB) $(SHAREDLIBM); \
|
||||||
ln -s $(SHAREDLIBV) $(SHAREDLIB); \
|
ln -s $(SHAREDLIBV) $(SHAREDLIB); \
|
||||||
ln -s $(SHAREDLIBV) $(SHAREDLIBM); \
|
ln -s $(SHAREDLIBV) $(SHAREDLIBM); \
|
||||||
(ldconfig || true) >/dev/null 2>&1; \
|
(ldconfig || true) >/dev/null 2>&1; \
|
||||||
fi
|
fi
|
||||||
cp zlib.3 $(man3dir)
|
cp zlib.3 $(DESTDIR)$(man3dir)
|
||||||
chmod 644 $(man3dir)/zlib.3
|
chmod 644 $(DESTDIR)$(man3dir)/zlib.3
|
||||||
|
cp zlib.pc $(DESTDIR)$(pkgconfigdir)
|
||||||
|
chmod 644 $(DESTDIR)$(pkgconfigdir)/zlib.pc
|
||||||
# The ranlib in install is needed on NeXTSTEP which checks file times
|
# The ranlib in install is needed on NeXTSTEP which checks file times
|
||||||
# ldconfig is for Linux
|
# ldconfig is for Linux
|
||||||
|
|
||||||
|
install: install-libs
|
||||||
|
-@if [ ! -d $(DESTDIR)$(includedir) ]; then mkdir -p $(DESTDIR)$(includedir); fi
|
||||||
|
cp zlib.h zconf.h zlibdefs.h $(DESTDIR)$(includedir)
|
||||||
|
chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h $(DESTDIR)$(includedir)/zlibdefs.h
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
cd $(includedir); \
|
cd $(DESTDIR)$(includedir); rm -f zlib.h zconf.h zlibdefs.h
|
||||||
cd $(libdir); rm -f libz.a; \
|
cd $(DESTDIR)$(libdir); rm -f libz.a; \
|
||||||
if test -f $(SHAREDLIBV); then \
|
if test -f $(SHAREDLIBV); then \
|
||||||
rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
|
rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
|
||||||
fi
|
fi
|
||||||
cd $(man3dir); rm -f zlib.3
|
cd $(DESTDIR)$(man3dir); rm -f zlib.3
|
||||||
|
cd $(DESTDIR)$(pkgconfigdir); rm -f zlib.pc
|
||||||
|
|
||||||
mostlyclean: clean
|
mostlyclean: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *~ example$(EXE) minigzip$(EXE) \
|
rm -f *.o *.lo *~ example$(EXE) minigzip$(EXE) \
|
||||||
libz.* foo.gz so_locations \
|
libz.* foo.gz so_locations \
|
||||||
_match.s maketree contrib/infback9/*.o
|
_match.s maketree contrib/infback9/*.o
|
||||||
|
|
||||||
maintainer-clean: distclean
|
maintainer-clean: distclean
|
||||||
distclean: clean
|
distclean: clean
|
||||||
cp -p Makefile.in Makefile
|
cp -p Makefile.in Makefile
|
||||||
cp -p zconf.in.h zconf.h
|
rm zlibdefs.h
|
||||||
rm -f .DS_Store
|
touch -r configure zlibdefs.h
|
||||||
|
rm -f zlib.pc .DS_Store
|
||||||
|
|
||||||
tags:
|
tags:
|
||||||
etags *.[ch]
|
etags *.[ch]
|
||||||
@@ -138,17 +161,32 @@ depend:
|
|||||||
|
|
||||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||||
|
|
||||||
adler32.o: zlib.h zconf.h
|
adler32.o: zlib.h zconf.h zlibdefs.h
|
||||||
compress.o: zlib.h zconf.h
|
compress.o: zlib.h zconf.h zlibdefs.h
|
||||||
crc32.o: crc32.h zlib.h zconf.h
|
crc32.o: crc32.h zlib.h zconf.h zlibdefs.h
|
||||||
deflate.o: deflate.h zutil.h zlib.h zconf.h
|
deflate.o: deflate.h zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
example.o: zlib.h zconf.h
|
example.o: zlib.h zconf.h zlibdefs.h
|
||||||
gzio.o: zutil.h zlib.h zconf.h
|
gzio.o: zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
|
inffast.o: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h
|
||||||
inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
|
inflate.o: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h inffixed.h
|
||||||
infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
|
infback.o: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h inffixed.h
|
||||||
inftrees.o: zutil.h zlib.h zconf.h inftrees.h
|
inftrees.o: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h
|
||||||
minigzip.o: zlib.h zconf.h
|
minigzip.o: zlib.h zconf.h zlibdefs.h
|
||||||
trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
|
trees.o: deflate.h zutil.h zlib.h zconf.h zlibdefs.h trees.h
|
||||||
uncompr.o: zlib.h zconf.h
|
uncompr.o: zlib.h zconf.h zlibdefs.h
|
||||||
zutil.o: zutil.h zlib.h zconf.h
|
zutil.o: zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
|
||||||
|
adler32.lo: zlib.h zconf.h zlibdefs.h
|
||||||
|
compress.lo: zlib.h zconf.h zlibdefs.h
|
||||||
|
crc32.lo: crc32.h zlib.h zconf.h zlibdefs.h
|
||||||
|
deflate.lo: deflate.h zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
example.lo: zlib.h zconf.h zlibdefs.h
|
||||||
|
gzio.lo: zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
inffast.lo: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h
|
||||||
|
inflate.lo: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h inffixed.h
|
||||||
|
infback.lo: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h inffixed.h
|
||||||
|
inftrees.lo: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h
|
||||||
|
minigzip.lo: zlib.h zconf.h zlibdefs.h
|
||||||
|
trees.lo: deflate.h zutil.h zlib.h zconf.h zlibdefs.h trees.h
|
||||||
|
uncompr.lo: zlib.h zconf.h zlibdefs.h
|
||||||
|
zutil.lo: zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
|||||||
120
Makefile.in
120
Makefile.in
@@ -1,5 +1,5 @@
|
|||||||
# Makefile for zlib
|
# Makefile for zlib
|
||||||
# Copyright (C) 1995-2003 Jean-loup Gailly.
|
# Copyright (C) 1995-2006 Jean-loup Gailly.
|
||||||
# For conditions of distribution and use, see copyright notice in zlib.h
|
# For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
|
|
||||||
# To compile and test, type:
|
# To compile and test, type:
|
||||||
@@ -24,16 +24,18 @@ CFLAGS=-O
|
|||||||
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
|
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
|
||||||
# -Wstrict-prototypes -Wmissing-prototypes
|
# -Wstrict-prototypes -Wmissing-prototypes
|
||||||
|
|
||||||
|
SFLAGS=-O
|
||||||
|
|
||||||
LDFLAGS=libz.a
|
LDFLAGS=libz.a
|
||||||
LDSHARED=$(CC)
|
LDSHARED=$(CC)
|
||||||
CPP=$(CC) -E
|
CPP=$(CC) -E
|
||||||
|
|
||||||
LIBS=libz.a
|
LIBS=libz.a
|
||||||
SHAREDLIB=libz.so
|
SHAREDLIB=libz.so
|
||||||
SHAREDLIBV=libz.so.1.2.2.3
|
SHAREDLIBV=libz.so.1.2.3.2
|
||||||
SHAREDLIBM=libz.so.1
|
SHAREDLIBM=libz.so.1
|
||||||
|
|
||||||
AR=ar rc
|
AR=ar
|
||||||
RANLIB=ranlib
|
RANLIB=ranlib
|
||||||
TAR=tar
|
TAR=tar
|
||||||
SHELL=/bin/sh
|
SHELL=/bin/sh
|
||||||
@@ -45,13 +47,18 @@ libdir = ${exec_prefix}/lib
|
|||||||
includedir = ${prefix}/include
|
includedir = ${prefix}/include
|
||||||
mandir = ${prefix}/share/man
|
mandir = ${prefix}/share/man
|
||||||
man3dir = ${mandir}/man3
|
man3dir = ${mandir}/man3
|
||||||
|
pkgconfigdir = ${libdir}/pkgconfig
|
||||||
|
|
||||||
OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
|
OBJC = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
|
||||||
zutil.o inflate.o infback.o inftrees.o inffast.o
|
zutil.o inflate.o infback.o inftrees.o inffast.o
|
||||||
|
|
||||||
OBJA =
|
OBJA =
|
||||||
# to use the asm code: make OBJA=match.o
|
# to use the asm code: make OBJA=match.o
|
||||||
|
|
||||||
|
OBJS = $(OBJC) $(OBJA)
|
||||||
|
|
||||||
|
PIC_OBJS = $(OBJS:%.o=%.lo)
|
||||||
|
|
||||||
TEST_OBJS = example.o minigzip.o
|
TEST_OBJS = example.o minigzip.o
|
||||||
|
|
||||||
all: example$(EXE) minigzip$(EXE)
|
all: example$(EXE) minigzip$(EXE)
|
||||||
@@ -67,8 +74,8 @@ test: all
|
|||||||
echo ' *** zlib test FAILED ***'; \
|
echo ' *** zlib test FAILED ***'; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
libz.a: $(OBJS) $(OBJA)
|
libz.a: $(OBJS)
|
||||||
$(AR) $@ $(OBJS) $(OBJA)
|
$(AR) $@ $(OBJS)
|
||||||
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
|
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
|
||||||
|
|
||||||
match.o: match.S
|
match.o: match.S
|
||||||
@@ -77,8 +84,17 @@ match.o: match.S
|
|||||||
mv _match.o match.o
|
mv _match.o match.o
|
||||||
rm -f _match.s
|
rm -f _match.s
|
||||||
|
|
||||||
$(SHAREDLIBV): $(OBJS)
|
match.lo: match.S
|
||||||
$(LDSHARED) -o $@ $(OBJS)
|
$(CPP) match.S > _match.s
|
||||||
|
$(CC) -c -fPIC _match.s
|
||||||
|
mv _match.o match.lo
|
||||||
|
rm -f _match.s
|
||||||
|
|
||||||
|
%.lo: %.c
|
||||||
|
$(CC) $(SFLAGS) -DPIC -c $< -o $@
|
||||||
|
|
||||||
|
$(SHAREDLIBV): $(PIC_OBJS)
|
||||||
|
$(LDSHARED) -o $@ $(PIC_OBJS) -lc
|
||||||
rm -f $(SHAREDLIB) $(SHAREDLIBM)
|
rm -f $(SHAREDLIB) $(SHAREDLIBM)
|
||||||
ln -s $@ $(SHAREDLIB)
|
ln -s $@ $(SHAREDLIB)
|
||||||
ln -s $@ $(SHAREDLIBM)
|
ln -s $@ $(SHAREDLIBM)
|
||||||
@@ -89,46 +105,53 @@ example$(EXE): example.o $(LIBS)
|
|||||||
minigzip$(EXE): minigzip.o $(LIBS)
|
minigzip$(EXE): minigzip.o $(LIBS)
|
||||||
$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
|
$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
|
||||||
|
|
||||||
install: $(LIBS)
|
install-libs: $(LIBS)
|
||||||
-@if [ ! -d $(exec_prefix) ]; then mkdir -p $(exec_prefix); fi
|
-@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
|
||||||
-@if [ ! -d $(includedir) ]; then mkdir -p $(includedir); fi
|
-@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi
|
||||||
-@if [ ! -d $(libdir) ]; then mkdir -p $(libdir); fi
|
-@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
|
||||||
-@if [ ! -d $(man3dir) ]; then mkdir -p $(man3dir); fi
|
-@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
|
||||||
cp zlib.h zconf.h $(includedir)
|
cp $(LIBS) $(DESTDIR)$(libdir)
|
||||||
chmod 644 $(includedir)/zlib.h $(includedir)/zconf.h
|
cd $(DESTDIR)$(libdir); chmod 755 $(LIBS)
|
||||||
cp $(LIBS) $(libdir)
|
-@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1
|
||||||
cd $(libdir); chmod 755 $(LIBS)
|
cd $(DESTDIR)$(libdir); if test -f $(SHAREDLIBV); then \
|
||||||
-@(cd $(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1
|
|
||||||
cd $(libdir); if test -f $(SHAREDLIBV); then \
|
|
||||||
rm -f $(SHAREDLIB) $(SHAREDLIBM); \
|
rm -f $(SHAREDLIB) $(SHAREDLIBM); \
|
||||||
ln -s $(SHAREDLIBV) $(SHAREDLIB); \
|
ln -s $(SHAREDLIBV) $(SHAREDLIB); \
|
||||||
ln -s $(SHAREDLIBV) $(SHAREDLIBM); \
|
ln -s $(SHAREDLIBV) $(SHAREDLIBM); \
|
||||||
(ldconfig || true) >/dev/null 2>&1; \
|
(ldconfig || true) >/dev/null 2>&1; \
|
||||||
fi
|
fi
|
||||||
cp zlib.3 $(man3dir)
|
cp zlib.3 $(DESTDIR)$(man3dir)
|
||||||
chmod 644 $(man3dir)/zlib.3
|
chmod 644 $(DESTDIR)$(man3dir)/zlib.3
|
||||||
|
cp zlib.pc $(DESTDIR)$(pkgconfigdir)
|
||||||
|
chmod 644 $(DESTDIR)$(pkgconfigdir)/zlib.pc
|
||||||
# The ranlib in install is needed on NeXTSTEP which checks file times
|
# The ranlib in install is needed on NeXTSTEP which checks file times
|
||||||
# ldconfig is for Linux
|
# ldconfig is for Linux
|
||||||
|
|
||||||
|
install: install-libs
|
||||||
|
-@if [ ! -d $(DESTDIR)$(includedir) ]; then mkdir -p $(DESTDIR)$(includedir); fi
|
||||||
|
cp zlib.h zconf.h zlibdefs.h $(DESTDIR)$(includedir)
|
||||||
|
chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h $(DESTDIR)$(includedir)/zlibdefs.h
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
cd $(includedir); \
|
cd $(DESTDIR)$(includedir); rm -f zlib.h zconf.h zlibdefs.h
|
||||||
cd $(libdir); rm -f libz.a; \
|
cd $(DESTDIR)$(libdir); rm -f libz.a; \
|
||||||
if test -f $(SHAREDLIBV); then \
|
if test -f $(SHAREDLIBV); then \
|
||||||
rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
|
rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
|
||||||
fi
|
fi
|
||||||
cd $(man3dir); rm -f zlib.3
|
cd $(DESTDIR)$(man3dir); rm -f zlib.3
|
||||||
|
cd $(DESTDIR)$(pkgconfigdir); rm -f zlib.pc
|
||||||
|
|
||||||
mostlyclean: clean
|
mostlyclean: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *~ example$(EXE) minigzip$(EXE) \
|
rm -f *.o *.lo *~ example$(EXE) minigzip$(EXE) \
|
||||||
libz.* foo.gz so_locations \
|
libz.* foo.gz so_locations \
|
||||||
_match.s maketree contrib/infback9/*.o
|
_match.s maketree contrib/infback9/*.o
|
||||||
|
|
||||||
maintainer-clean: distclean
|
maintainer-clean: distclean
|
||||||
distclean: clean
|
distclean: clean
|
||||||
cp -p Makefile.in Makefile
|
cp -p Makefile.in Makefile
|
||||||
cp -p zconf.in.h zconf.h
|
rm zlibdefs.h
|
||||||
rm -f .DS_Store
|
touch -r configure zlibdefs.h
|
||||||
|
rm -f zlib.pc .DS_Store
|
||||||
|
|
||||||
tags:
|
tags:
|
||||||
etags *.[ch]
|
etags *.[ch]
|
||||||
@@ -138,17 +161,32 @@ depend:
|
|||||||
|
|
||||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||||
|
|
||||||
adler32.o: zlib.h zconf.h
|
adler32.o: zlib.h zconf.h zlibdefs.h
|
||||||
compress.o: zlib.h zconf.h
|
compress.o: zlib.h zconf.h zlibdefs.h
|
||||||
crc32.o: crc32.h zlib.h zconf.h
|
crc32.o: crc32.h zlib.h zconf.h zlibdefs.h
|
||||||
deflate.o: deflate.h zutil.h zlib.h zconf.h
|
deflate.o: deflate.h zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
example.o: zlib.h zconf.h
|
example.o: zlib.h zconf.h zlibdefs.h
|
||||||
gzio.o: zutil.h zlib.h zconf.h
|
gzio.o: zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
|
inffast.o: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h
|
||||||
inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
|
inflate.o: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h inffixed.h
|
||||||
infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
|
infback.o: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h inffixed.h
|
||||||
inftrees.o: zutil.h zlib.h zconf.h inftrees.h
|
inftrees.o: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h
|
||||||
minigzip.o: zlib.h zconf.h
|
minigzip.o: zlib.h zconf.h zlibdefs.h
|
||||||
trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
|
trees.o: deflate.h zutil.h zlib.h zconf.h zlibdefs.h trees.h
|
||||||
uncompr.o: zlib.h zconf.h
|
uncompr.o: zlib.h zconf.h zlibdefs.h
|
||||||
zutil.o: zutil.h zlib.h zconf.h
|
zutil.o: zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
|
||||||
|
adler32.lo: zlib.h zconf.h zlibdefs.h
|
||||||
|
compress.lo: zlib.h zconf.h zlibdefs.h
|
||||||
|
crc32.lo: crc32.h zlib.h zconf.h zlibdefs.h
|
||||||
|
deflate.lo: deflate.h zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
example.lo: zlib.h zconf.h zlibdefs.h
|
||||||
|
gzio.lo: zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
inffast.lo: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h
|
||||||
|
inflate.lo: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h inffixed.h
|
||||||
|
infback.lo: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inflate.h inffast.h inffixed.h
|
||||||
|
inftrees.lo: zutil.h zlib.h zconf.h zlibdefs.h inftrees.h
|
||||||
|
minigzip.lo: zlib.h zconf.h zlibdefs.h
|
||||||
|
trees.lo: deflate.h zutil.h zlib.h zconf.h zlibdefs.h trees.h
|
||||||
|
uncompr.lo: zlib.h zconf.h zlibdefs.h
|
||||||
|
zutil.lo: zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
|||||||
4
README
4
README
@@ -1,6 +1,6 @@
|
|||||||
ZLIB DATA COMPRESSION LIBRARY
|
ZLIB DATA COMPRESSION LIBRARY
|
||||||
|
|
||||||
zlib 1.2.2.3 is a general purpose data compression library. All the code is
|
zlib 1.2.3.2 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)
|
||||||
@@ -33,7 +33,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 in
|
issue of Dr. Dobb's Journal; a copy of the article is available in
|
||||||
http://dogma.net/markn/articles/zlibtool/zlibtool.htm
|
http://dogma.net/markn/articles/zlibtool/zlibtool.htm
|
||||||
|
|
||||||
The changes made in version 1.2.2.3 are documented in the file ChangeLog.
|
The changes made in version 1.2.3.2 are documented in the file ChangeLog.
|
||||||
|
|
||||||
Unsupported third party contributions are provided in directory "contrib".
|
Unsupported third party contributions are provided in directory "contrib".
|
||||||
|
|
||||||
|
|||||||
@@ -118,6 +118,6 @@
|
|||||||
&MODLIB/INFTREES &MODLIB/TREES +
|
&MODLIB/INFTREES &MODLIB/TREES +
|
||||||
&MODLIB/UNCOMPR &MODLIB/ZUTIL) +
|
&MODLIB/UNCOMPR &MODLIB/ZUTIL) +
|
||||||
SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) +
|
SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) +
|
||||||
TEXT('ZLIB 1.2.2') TGTRLS(V4R4M0)
|
TEXT('ZLIB 1.2.3') TGTRLS(V4R4M0)
|
||||||
|
|
||||||
ENDPGM
|
ENDPGM
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
ZLIB version 1.2.2 for AS400 installation instructions
|
ZLIB version 1.2.3 for AS400 installation instructions
|
||||||
|
|
||||||
I) From an AS400 *SAVF file:
|
I) From an AS400 *SAVF file:
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
* ZLIB.INC - Interface to the general purpose compression library
|
* ZLIB.INC - Interface to the general purpose compression library
|
||||||
*
|
*
|
||||||
* ILE RPG400 version by Patrick Monnerat, DATASPHERE.
|
* ILE RPG400 version by Patrick Monnerat, DATASPHERE.
|
||||||
* Version 1.2.2.3
|
* Version 1.2.3.2
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* WARNING:
|
* WARNING:
|
||||||
@@ -22,8 +22,8 @@
|
|||||||
*
|
*
|
||||||
* Versioning information.
|
* Versioning information.
|
||||||
*
|
*
|
||||||
D ZLIB_VERSION C '1.2.2.3'
|
D ZLIB_VERSION C '1.2.3.2'
|
||||||
D ZLIB_VERNUM C X'1223'
|
D ZLIB_VERNUM C X'1232'
|
||||||
*
|
*
|
||||||
* Other equates.
|
* Other equates.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* compress.c -- compress a memory buffer
|
/* compress.c -- compress a memory buffer
|
||||||
* Copyright (C) 1995-2003 Jean-loup Gailly.
|
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -75,5 +75,6 @@ int ZEXPORT compress (dest, destLen, source, sourceLen)
|
|||||||
uLong ZEXPORT compressBound (sourceLen)
|
uLong ZEXPORT compressBound (sourceLen)
|
||||||
uLong sourceLen;
|
uLong sourceLen;
|
||||||
{
|
{
|
||||||
return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 11;
|
return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
|
||||||
|
(sourceLen >> 25) + 13;
|
||||||
}
|
}
|
||||||
|
|||||||
141
configure
vendored
141
configure
vendored
@@ -23,7 +23,8 @@ LDFLAGS="-L. ${LIBS}"
|
|||||||
VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
|
VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\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-"ar rc"}
|
AR=${AR-"ar"}
|
||||||
|
AR_RC="${AR} rc"
|
||||||
RANLIB=${RANLIB-"ranlib"}
|
RANLIB=${RANLIB-"ranlib"}
|
||||||
prefix=${prefix-/usr/local}
|
prefix=${prefix-/usr/local}
|
||||||
exec_prefix=${exec_prefix-'${prefix}'}
|
exec_prefix=${exec_prefix-'${prefix}'}
|
||||||
@@ -32,6 +33,7 @@ includedir=${includedir-'${prefix}/include'}
|
|||||||
mandir=${mandir-'${prefix}/share/man'}
|
mandir=${mandir-'${prefix}/share/man'}
|
||||||
shared_ext='.so'
|
shared_ext='.so'
|
||||||
shared=0
|
shared=0
|
||||||
|
zprefix=0
|
||||||
gcc=0
|
gcc=0
|
||||||
old_cc="$CC"
|
old_cc="$CC"
|
||||||
old_cflags="$CFLAGS"
|
old_cflags="$CFLAGS"
|
||||||
@@ -39,20 +41,23 @@ old_cflags="$CFLAGS"
|
|||||||
while test $# -ge 1
|
while test $# -ge 1
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-h* | --h*)
|
-h* | --help)
|
||||||
echo 'usage:'
|
echo 'usage:'
|
||||||
echo ' configure [--shared] [--prefix=PREFIX] [--exec_prefix=EXPREFIX]'
|
echo ' configure [--shared] [--prefix=PREFIX] [--exec_prefix=EXPREFIX]'
|
||||||
echo ' [--libdir=LIBDIR] [--includedir=INCLUDEDIR]'
|
echo ' [--libdir=LIBDIR] [--includedir=INCLUDEDIR] [--zprefix]'
|
||||||
exit 0;;
|
exit 0;;
|
||||||
-p*=* | --p*=*) prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
|
-p*=* | --prefix=*) prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
|
||||||
-e*=* | --e*=*) exec_prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
|
-e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
|
||||||
-l*=* | --libdir=*) libdir=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
|
-l*=* | --libdir=*) libdir=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
|
||||||
-i*=* | --includedir=*) includedir=`echo $1 | sed 's/[-a-z_]*=//'`;shift;;
|
-i*=* | --includedir=*) includedir=`echo $1 | sed 's/[-a-z_]*=//'`;shift;;
|
||||||
-p* | --p*) prefix="$2"; shift; shift;;
|
-p* | --prefix) prefix="$2"; shift; shift;;
|
||||||
-e* | --e*) exec_prefix="$2"; shift; shift;;
|
-e* | --eprefix) exec_prefix="$2"; shift; shift;;
|
||||||
-l* | --l*) libdir="$2"; shift; shift;;
|
-l* | --libdir) libdir="$2"; shift; shift;;
|
||||||
-i* | --i*) includedir="$2"; shift; shift;;
|
-i* | --includedir) includedir="$2"; shift; shift;;
|
||||||
-s* | --s*) shared=1; shift;;
|
-s* | --shared | --enable-shared) shared=1; shift;;
|
||||||
|
-z* | --zprefix) zprefix=1; shift;;
|
||||||
|
--sysconfdir=*) echo "ignored option: --sysconfdir"; shift;;
|
||||||
|
--localstatedir=*) echo "ignored option: --localstatedir"; shift;;
|
||||||
*) echo "unknown option: $1"; echo "$0 --help for help"; exit 1;;
|
*) echo "unknown option: $1"; echo "$0 --help for help"; exit 1;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -73,18 +78,25 @@ 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-"-fPIC -O3"}
|
SFLAGS="${CFLAGS-"-O3"} -fPIC"
|
||||||
CFLAGS="$cflags"
|
CFLAGS="${CFLAGS-"-O3"}"
|
||||||
case `(uname -s || echo unknown) 2>/dev/null` in
|
case `(uname -s || echo unknown) 2>/dev/null` in
|
||||||
Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"};;
|
Linux | linux | GNU | GNU/*) 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';;
|
||||||
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
|
||||||
# (alain.bonnefoy@icbt.com)
|
# (alain.bonnefoy@icbt.com)
|
||||||
LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"};;
|
LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"};;
|
||||||
HP-UX*) LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
|
HP-UX*)
|
||||||
|
LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
|
||||||
|
case `(uname -m || echo unknown) 2>/dev/null` in
|
||||||
|
ia64)
|
||||||
|
shared_ext='.so'
|
||||||
|
SHAREDLIB='libz.so';;
|
||||||
|
*)
|
||||||
shared_ext='.sl'
|
shared_ext='.sl'
|
||||||
SHAREDLIB='libz.sl';;
|
SHAREDLIB='libz.sl';;
|
||||||
|
esac;;
|
||||||
Darwin*) shared_ext='.dylib'
|
Darwin*) shared_ext='.dylib'
|
||||||
SHAREDLIB=libz$shared_ext
|
SHAREDLIB=libz$shared_ext
|
||||||
SHAREDLIBV=libz.$VER$shared_ext
|
SHAREDLIBV=libz.$VER$shared_ext
|
||||||
@@ -100,28 +112,40 @@ else
|
|||||||
CFLAGS=${CFLAGS-"-O"}
|
CFLAGS=${CFLAGS-"-O"}
|
||||||
# LDSHARED=${LDSHARED-"ld -b +vnocompatwarnings"}
|
# LDSHARED=${LDSHARED-"ld -b +vnocompatwarnings"}
|
||||||
LDSHARED=${LDSHARED-"ld -b"}
|
LDSHARED=${LDSHARED-"ld -b"}
|
||||||
|
case `(uname -m || echo unknown) 2>/dev/null` in
|
||||||
|
ia64)
|
||||||
|
shared_ext='.so'
|
||||||
|
SHAREDLIB='libz.so';;
|
||||||
|
*)
|
||||||
shared_ext='.sl'
|
shared_ext='.sl'
|
||||||
SHAREDLIB='libz.sl';;
|
SHAREDLIB='libz.sl';;
|
||||||
|
esac;;
|
||||||
IRIX*) SFLAGS=${CFLAGS-"-ansi -O2 -rpath ."}
|
IRIX*) SFLAGS=${CFLAGS-"-ansi -O2 -rpath ."}
|
||||||
CFLAGS=${CFLAGS-"-ansi -O2"}
|
CFLAGS=${CFLAGS-"-ansi -O2"}
|
||||||
LDSHARED=${LDSHARED-"cc -shared"};;
|
LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so.1"};;
|
||||||
OSF1\ V4*) SFLAGS=${CFLAGS-"-O -std1"}
|
OSF1\ V4*) SFLAGS=${CFLAGS-"-O -std1"}
|
||||||
CFLAGS=${CFLAGS-"-O -std1"}
|
CFLAGS=${CFLAGS-"-O -std1"}
|
||||||
LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so -Wl,-msym -Wl,-rpath,$(libdir) -Wl,-set_version,${VER}:1.0"};;
|
LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so -Wl,-msym -Wl,-rpath,$(libdir) -Wl,-set_version,${VER}:1.0"};;
|
||||||
OSF1*) SFLAGS=${CFLAGS-"-O -std1"}
|
OSF1*) SFLAGS=${CFLAGS-"-O -std1"}
|
||||||
CFLAGS=${CFLAGS-"-O -std1"}
|
CFLAGS=${CFLAGS-"-O -std1"}
|
||||||
LDSHARED=${LDSHARED-"cc -shared"};;
|
LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so.1"};;
|
||||||
QNX*) SFLAGS=${CFLAGS-"-4 -O"}
|
QNX*) SFLAGS=${CFLAGS-"-4 -O"}
|
||||||
CFLAGS=${CFLAGS-"-4 -O"}
|
CFLAGS=${CFLAGS-"-4 -O"}
|
||||||
LDSHARED=${LDSHARED-"cc"}
|
LDSHARED=${LDSHARED-"cc"}
|
||||||
RANLIB=${RANLIB-"true"}
|
RANLIB=${RANLIB-"true"}
|
||||||
AR="cc -A";;
|
AR_RC="cc -A";;
|
||||||
SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "}
|
SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "}
|
||||||
CFLAGS=${CFLAGS-"-O3"}
|
CFLAGS=${CFLAGS-"-O3"}
|
||||||
LDSHARED=${LDSHARED-"cc -dy -KPIC -G"};;
|
LDSHARED=${LDSHARED-"cc -dy -KPIC -G"};;
|
||||||
SunOS\ 5*) SFLAGS=${CFLAGS-"-fast -xcg89 -KPIC -R."}
|
SunOS\ 5*) LDSHARED=${LDSHARED-"cc -G"}
|
||||||
CFLAGS=${CFLAGS-"-fast -xcg89"}
|
case `(uname -m || echo unknown) 2>/dev/null` in
|
||||||
LDSHARED=${LDSHARED-"cc -G"};;
|
i86*)
|
||||||
|
SFLAGS=${CFLAGS-"-xpentium -fast -KPIC -R."}
|
||||||
|
CFLAGS=${CFLAGS-"-xpentium -fast"};;
|
||||||
|
*)
|
||||||
|
SFLAGS=${CFLAGS-"-fast -xcg92 -KPIC -R."}
|
||||||
|
CFLAGS=${CFLAGS-"-fast -xcg92"};;
|
||||||
|
esac;;
|
||||||
SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
|
SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
|
||||||
CFLAGS=${CFLAGS-"-O2"}
|
CFLAGS=${CFLAGS-"-O2"}
|
||||||
LDSHARED=${LDSHARED-"ld"};;
|
LDSHARED=${LDSHARED-"ld"};;
|
||||||
@@ -160,13 +184,16 @@ if test $shared -eq 1; then
|
|||||||
# we must test in two steps (cc then ld), required at least on SunOS 4.x
|
# we must test in two steps (cc then ld), required at least on SunOS 4.x
|
||||||
if test "`($CC -c $SFLAGS $test.c) 2>&1`" = "" &&
|
if test "`($CC -c $SFLAGS $test.c) 2>&1`" = "" &&
|
||||||
test "`($LDSHARED -o $test$shared_ext $test.o) 2>&1`" = ""; then
|
test "`($LDSHARED -o $test$shared_ext $test.o) 2>&1`" = ""; then
|
||||||
CFLAGS="$SFLAGS"
|
LIBS="$LIBS $SHAREDLIBV"
|
||||||
LIBS="$SHAREDLIBV"
|
|
||||||
echo Building shared library $SHAREDLIBV with $CC.
|
echo Building shared library $SHAREDLIBV with $CC.
|
||||||
elif test -z "$old_cc" -a -z "$old_cflags"; then
|
elif test -z "$old_cc" -a -z "$old_cflags"; then
|
||||||
echo No shared library support.
|
echo No shared library support.
|
||||||
shared=0;
|
shared=0;
|
||||||
else
|
else
|
||||||
|
echo Tested $CC -c $SFLAGS $test.c
|
||||||
|
$CC -c $SFLAGS $test.c
|
||||||
|
echo Tested $LDSHARED -o $test$shared_ext $test.o
|
||||||
|
$LDSHARED -o $test$shared_ext $test.o
|
||||||
echo 'No shared library support; try without defining CC and CFLAGS'
|
echo 'No shared library support; try without defining CC and CFLAGS'
|
||||||
shared=0;
|
shared=0;
|
||||||
fi
|
fi
|
||||||
@@ -174,8 +201,29 @@ fi
|
|||||||
if test $shared -eq 0; then
|
if test $shared -eq 0; then
|
||||||
LDSHARED="$CC"
|
LDSHARED="$CC"
|
||||||
echo Building static library $LIBS version $VER with $CC.
|
echo Building static library $LIBS version $VER with $CC.
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat > zlibdefs.h << EOF
|
||||||
|
/* zlibdefs.h -- compile-time definitions for the zlib compression library
|
||||||
|
* Copyright (C) 1995-2006 Jean-loup Gailly.
|
||||||
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
|
*/
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > $test.c <<EOF
|
||||||
|
#include <sys/types.h>
|
||||||
|
off64_t dummy = 0;
|
||||||
|
EOF
|
||||||
|
if test "`($CC -c $CFLAGS -D_LARGEFILE64_SOURCE $test.c) 2>&1`" = ""; then
|
||||||
|
cat >> zlibdefs.h <<EOF
|
||||||
|
#define z_off_t off64_t
|
||||||
|
EOF
|
||||||
|
CFLAGS="${CFLAGS} -D_LARGEFILE64_SOURCE"
|
||||||
|
SFLAGS="${SFLAGS} -D_LARGEFILE64_SOURCE"
|
||||||
|
echo "Checking for off64_t... Yes."
|
||||||
else
|
else
|
||||||
LDFLAGS="-L. ${SHAREDLIBV}"
|
echo "Checking for off64_t... No."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
@@ -183,13 +231,27 @@ cat > $test.c <<EOF
|
|||||||
int main() { return 0; }
|
int main() { return 0; }
|
||||||
EOF
|
EOF
|
||||||
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
||||||
sed < zconf.in.h "/HAVE_UNISTD_H/s%0%1%" > zconf.h
|
cat >> zlibdefs.h <<EOF
|
||||||
|
#include <sys/types.h> /* for off_t */
|
||||||
|
#include <unistd.h> /* for SEEK_* and off_t */
|
||||||
|
#ifdef VMS
|
||||||
|
# include <unixio.h> /* for off_t */
|
||||||
|
#endif
|
||||||
|
#ifndef z_off_t
|
||||||
|
# define z_off_t off_t
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
echo "Checking for unistd.h... Yes."
|
echo "Checking for unistd.h... Yes."
|
||||||
else
|
else
|
||||||
cp -p zconf.in.h zconf.h
|
|
||||||
echo "Checking for unistd.h... No."
|
echo "Checking for unistd.h... No."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test $zprefix -eq 1; then
|
||||||
|
sed < zconf.h "/#ifdef Z_PREFIX/s/def Z_PREFIX/ 1/" > zconf.temp.h
|
||||||
|
mv zconf.temp.h zconf.h
|
||||||
|
echo "Using z_ prefix on all symbols."
|
||||||
|
fi
|
||||||
|
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@@ -206,7 +268,7 @@ int main()
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
||||||
echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()"
|
echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()."
|
||||||
|
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -303,7 +365,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()"
|
echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()."
|
||||||
|
|
||||||
cat >$test.c <<EOF
|
cat >$test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -428,13 +490,14 @@ rm -f $test.[co] $test $test$shared_ext
|
|||||||
sed < Makefile.in "
|
sed < Makefile.in "
|
||||||
/^CC *=/s#=.*#=$CC#
|
/^CC *=/s#=.*#=$CC#
|
||||||
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
||||||
|
/^SFLAGS *=/s#=.*#=$SFLAGS#
|
||||||
/^CPP *=/s#=.*#=$CPP#
|
/^CPP *=/s#=.*#=$CPP#
|
||||||
/^LDSHARED *=/s#=.*#=$LDSHARED#
|
/^LDSHARED *=/s#=.*#=$LDSHARED#
|
||||||
/^LIBS *=/s#=.*#=$LIBS#
|
/^LIBS *=/s#=.*#=$LIBS#
|
||||||
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
|
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
|
||||||
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
|
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
|
||||||
/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
|
/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
|
||||||
/^AR *=/s#=.*#=$AR#
|
/^AR *=/s#=.*#=$AR_RC#
|
||||||
/^RANLIB *=/s#=.*#=$RANLIB#
|
/^RANLIB *=/s#=.*#=$RANLIB#
|
||||||
/^EXE *=/s#=.*#=$EXE#
|
/^EXE *=/s#=.*#=$EXE#
|
||||||
/^prefix *=/s#=.*#=$prefix#
|
/^prefix *=/s#=.*#=$prefix#
|
||||||
@@ -444,3 +507,25 @@ sed < Makefile.in "
|
|||||||
/^mandir *=/s#=.*#=$mandir#
|
/^mandir *=/s#=.*#=$mandir#
|
||||||
/^LDFLAGS *=/s#=.*#=$LDFLAGS#
|
/^LDFLAGS *=/s#=.*#=$LDFLAGS#
|
||||||
" > Makefile
|
" > Makefile
|
||||||
|
|
||||||
|
sed < zlib.pc.in "
|
||||||
|
/^CC *=/s#=.*#=$CC#
|
||||||
|
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
||||||
|
/^CPP *=/s#=.*#=$CPP#
|
||||||
|
/^LDSHARED *=/s#=.*#=$LDSHARED#
|
||||||
|
/^LIBS *=/s#=.*#=$LIBS#
|
||||||
|
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
|
||||||
|
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
|
||||||
|
/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
|
||||||
|
/^AR *=/s#=.*#=$AR_RC#
|
||||||
|
/^RANLIB *=/s#=.*#=$RANLIB#
|
||||||
|
/^EXE *=/s#=.*#=$EXE#
|
||||||
|
/^prefix *=/s#=.*#=$prefix#
|
||||||
|
/^exec_prefix *=/s#=.*#=$exec_prefix#
|
||||||
|
/^libdir *=/s#=.*#=$libdir#
|
||||||
|
/^includedir *=/s#=.*#=$includedir#
|
||||||
|
/^mandir *=/s#=.*#=$mandir#
|
||||||
|
/^LDFLAGS *=/s#=.*#=$LDFLAGS#
|
||||||
|
" | sed -e "
|
||||||
|
s/\@VERSION\@/$VER/g;
|
||||||
|
" > zlib.pc
|
||||||
|
|||||||
@@ -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.2';
|
zlib_version = '1.2.3';
|
||||||
|
|
||||||
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.2", Info.Version);
|
Assert.AreEqual("1.2.3", 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-2005 Mark Adler
|
* Copyright (C) 1995-2006 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.2.3 Copyright 1995-2005 Mark Adler ";
|
" inflate9 1.2.3.2 Copyright 1995-2006 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, 66, 71};
|
133, 133, 133, 133, 144, 192, 204};
|
||||||
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,
|
||||||
@@ -128,7 +128,7 @@ unsigned short FAR *work;
|
|||||||
left -= count[len];
|
left -= count[len];
|
||||||
if (left < 0) return -1; /* over-subscribed */
|
if (left < 0) return -1; /* over-subscribed */
|
||||||
}
|
}
|
||||||
if (left > 0 && (type == CODES || (codes - count[0] != 1)))
|
if (left > 0 && (type == CODES || max != 1))
|
||||||
return -1; /* incomplete set */
|
return -1; /* incomplete set */
|
||||||
|
|
||||||
/* generate offsets into symbol table for each length for sorting */
|
/* generate offsets into symbol table for each length for sorting */
|
||||||
|
|||||||
@@ -36,12 +36,12 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Maximum size of dynamic tree. The maximum found in a long but non-
|
/* Maximum size of dynamic tree. The maximum found in a long but non-
|
||||||
exhaustive search was 1004 code structures (850 for length/literals
|
exhaustive search was 1444 code structures (852 for length/literals
|
||||||
and 154 for distances, the latter actually the result of an
|
and 592 for distances, the latter actually the result of an
|
||||||
exhaustive search). The true maximum is not known, but the value
|
exhaustive search). The true maximum is not known, but the value
|
||||||
below is more than safe. */
|
below is more than safe. */
|
||||||
#define ENOUGH 1440
|
#define ENOUGH 2048
|
||||||
#define MAXD 154
|
#define MAXD 592
|
||||||
|
|
||||||
/* Type of code to build for inftable() */
|
/* Type of code to build for inftable() */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|||||||
@@ -4,24 +4,33 @@
|
|||||||
|
|
||||||
; gvmat64.asm -- Asm portion of the optimized longest_match for 32 bits x86
|
; gvmat64.asm -- Asm portion of the optimized longest_match for 32 bits x86
|
||||||
; Copyright (C) 1995-2005 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
|
; Copyright (C) 1995-2005 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
|
||||||
; File written by Gilles Vollant, by modifiying the longest_match
|
;
|
||||||
; from Jean-loup Gailly in deflate.c
|
; File written by Gilles Vollant, by converting to assembly the longest_match
|
||||||
; and modifying asm686 with masm, optimised assembly code from Brian Raiter,
|
; from Jean-loup Gailly in deflate.c of zLib and infoZip zip.
|
||||||
; written 1998
|
;
|
||||||
|
; and by taking inspiration on asm686 with masm, optimised assembly code
|
||||||
|
; from Brian Raiter, written 1998
|
||||||
|
;
|
||||||
; http://www.zlib.net
|
; http://www.zlib.net
|
||||||
; http://www.winimage.com/zLibDll
|
; http://www.winimage.com/zLibDll
|
||||||
; http://www.muppetlabs.com/~breadbox/software/assembly.html
|
; http://www.muppetlabs.com/~breadbox/software/assembly.html
|
||||||
;
|
;
|
||||||
; to compile this file, I use option
|
; to compile this file for infozip Zip, I use option:
|
||||||
; ml64.exe /Flgvmat64 /c /Zi gvmat64.asm
|
; ml64.exe /Flgvmat64 /c /Zi /DINFOZIP gvmat64.asm
|
||||||
; with Microsoft Macro Assembler (x64) for AMD64
|
|
||||||
;
|
;
|
||||||
; ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK
|
; to compile this file for zLib, I use option:
|
||||||
|
; ml64.exe /Flgvmat64 /c /Zi gvmat64.asm
|
||||||
|
; Be carrefull to adapt zlib1222add below to your version of zLib
|
||||||
|
; (if you use a version of zLib before 1.0.4 or after 1.2.2.2, change
|
||||||
|
; value of zlib1222add later)
|
||||||
|
;
|
||||||
|
; This file compile with Microsoft Macro Assembler (x64) for AMD64
|
||||||
|
;
|
||||||
|
; ml64.exe is given with Visual Studio 2005 and Windows 2003 server DDK
|
||||||
;
|
;
|
||||||
; (you can get Windows 2003 server DDK with ml64 and cl for AMD64 from
|
; (you can get Windows 2003 server DDK with ml64 and cl for AMD64 from
|
||||||
; http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)
|
; http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)
|
||||||
;
|
;
|
||||||
; Be carrefull to adapt zlib1222add below to your version of zLib
|
|
||||||
|
|
||||||
|
|
||||||
;uInt longest_match(s, cur_match)
|
;uInt longest_match(s, cur_match)
|
||||||
@@ -47,7 +56,10 @@ longest_match PROC
|
|||||||
;scanalign equ rsp + xx - LocalVarsSize ; dword-misalignment of string r13
|
;scanalign equ rsp + xx - LocalVarsSize ; dword-misalignment of string r13
|
||||||
;bestlen equ rsp + xx - LocalVarsSize ; size of best match so far -> r11d
|
;bestlen equ rsp + xx - LocalVarsSize ; size of best match so far -> r11d
|
||||||
;scan equ rsp + xx - LocalVarsSize ; ptr to string wanting match -> r9
|
;scan equ rsp + xx - LocalVarsSize ; ptr to string wanting match -> r9
|
||||||
nicematch equ rsp + 16 - LocalVarsSize ; a good enough match size -> r14
|
IFDEF INFOZIP
|
||||||
|
ELSE
|
||||||
|
nicematch equ (rsp + 16 - LocalVarsSize) ; a good enough match size
|
||||||
|
ENDIF
|
||||||
|
|
||||||
save_rdi equ rsp + 24 - LocalVarsSize
|
save_rdi equ rsp + 24 - LocalVarsSize
|
||||||
save_rsi equ rsp + 32 - LocalVarsSize
|
save_rsi equ rsp + 32 - LocalVarsSize
|
||||||
@@ -84,8 +96,34 @@ save_r13 equ rsp + 64 - LocalVarsSize
|
|||||||
; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
|
; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
|
||||||
; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
|
; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
|
||||||
|
|
||||||
zlib1222add equ 8
|
|
||||||
|
|
||||||
|
IFDEF INFOZIP
|
||||||
|
|
||||||
|
_DATA SEGMENT
|
||||||
|
COMM window_size:DWORD
|
||||||
|
; WMask ; 7fff
|
||||||
|
COMM window:BYTE:010040H
|
||||||
|
COMM prev:WORD:08000H
|
||||||
|
; MatchLen : unused
|
||||||
|
; PrevMatch : unused
|
||||||
|
COMM strstart:DWORD
|
||||||
|
COMM match_start:DWORD
|
||||||
|
; Lookahead : ignore
|
||||||
|
COMM prev_length:DWORD ; PrevLen
|
||||||
|
COMM max_chain_length:DWORD
|
||||||
|
COMM good_match:DWORD
|
||||||
|
COMM nice_match:DWORD
|
||||||
|
prev_ad equ OFFSET prev
|
||||||
|
window_ad equ OFFSET window
|
||||||
|
nicematch equ nice_match
|
||||||
|
_DATA ENDS
|
||||||
|
WMask equ 07fffh
|
||||||
|
|
||||||
|
ELSE
|
||||||
|
|
||||||
|
IFNDEF zlib1222add
|
||||||
|
zlib1222add equ 8
|
||||||
|
ENDIF
|
||||||
dsWSize equ 56+zlib1222add+(zlib1222add/2)
|
dsWSize equ 56+zlib1222add+(zlib1222add/2)
|
||||||
dsWMask equ 64+zlib1222add+(zlib1222add/2)
|
dsWMask equ 64+zlib1222add+(zlib1222add/2)
|
||||||
dsWindow equ 72+zlib1222add
|
dsWindow equ 72+zlib1222add
|
||||||
@@ -100,6 +138,18 @@ dsMaxChainLen equ 156+zlib1222add
|
|||||||
dsGoodMatch equ 172+zlib1222add
|
dsGoodMatch equ 172+zlib1222add
|
||||||
dsNiceMatch equ 176+zlib1222add
|
dsNiceMatch equ 176+zlib1222add
|
||||||
|
|
||||||
|
window_size equ [ rcx + dsWSize]
|
||||||
|
WMask equ [ rcx + dsWMask]
|
||||||
|
window_ad equ [ rcx + dsWindow]
|
||||||
|
prev_ad equ [ rcx + dsPrev]
|
||||||
|
strstart equ [ rcx + dsStrStart]
|
||||||
|
match_start equ [ rcx + dsMatchStart]
|
||||||
|
Lookahead equ [ rcx + dsLookahead] ; 0ffffffffh on infozip
|
||||||
|
prev_length equ [ rcx + dsPrevLen]
|
||||||
|
max_chain_length equ [ rcx + dsMaxChainLen]
|
||||||
|
good_match equ [ rcx + dsGoodMatch]
|
||||||
|
nice_match equ [ rcx + dsNiceMatch]
|
||||||
|
ENDIF
|
||||||
|
|
||||||
; parameter 1 in r8(deflate state s), param 2 in rdx (cur match)
|
; parameter 1 in r8(deflate state s), param 2 in rdx (cur match)
|
||||||
|
|
||||||
@@ -107,7 +157,7 @@ dsNiceMatch equ 176+zlib1222add
|
|||||||
; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
|
; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
|
||||||
;
|
;
|
||||||
; All registers must be preserved across the call, except for
|
; All registers must be preserved across the call, except for
|
||||||
; rax, rcx, rdx, r8, r-9, r10, and r11, which are scratch.
|
; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -124,12 +174,15 @@ dsNiceMatch equ 176+zlib1222add
|
|||||||
|
|
||||||
; this clear high 32 bits of r8, which can be garbage in both r8 and rdx
|
; this clear high 32 bits of r8, which can be garbage in both r8 and rdx
|
||||||
|
|
||||||
|
|
||||||
mov [save_rdi],rdi
|
mov [save_rdi],rdi
|
||||||
mov [save_rsi],rsi
|
mov [save_rsi],rsi
|
||||||
mov [save_rbx],rbx
|
mov [save_rbx],rbx
|
||||||
mov [save_rbp],rbp
|
mov [save_rbp],rbp
|
||||||
|
IFDEF INFOZIP
|
||||||
|
mov r8d,ecx
|
||||||
|
ELSE
|
||||||
mov r8d,edx
|
mov r8d,edx
|
||||||
|
ENDIF
|
||||||
mov [save_r12],r12
|
mov [save_r12],r12
|
||||||
mov [save_r13],r13
|
mov [save_r13],r13
|
||||||
; mov [save_r14],r14
|
; mov [save_r14],r14
|
||||||
@@ -142,10 +195,10 @@ dsNiceMatch equ 176+zlib1222add
|
|||||||
;;; chain_length >>= 2;
|
;;; chain_length >>= 2;
|
||||||
;;; }
|
;;; }
|
||||||
|
|
||||||
mov edi, [rcx + dsPrevLen]
|
mov edi, prev_length
|
||||||
mov esi, [rcx + dsGoodMatch]
|
mov esi, good_match
|
||||||
mov eax, [rcx + dsWMask]
|
mov eax, WMask
|
||||||
mov ebx, [rcx + dsMaxChainLen]
|
mov ebx, max_chain_length
|
||||||
cmp edi, esi
|
cmp edi, esi
|
||||||
jl LastMatchGood
|
jl LastMatchGood
|
||||||
shr ebx, 2
|
shr ebx, 2
|
||||||
@@ -159,21 +212,25 @@ LastMatchGood:
|
|||||||
dec ebx
|
dec ebx
|
||||||
shl ebx, 16
|
shl ebx, 16
|
||||||
or ebx, eax
|
or ebx, eax
|
||||||
mov [chainlenwmask], ebx
|
|
||||||
|
|
||||||
|
;;; on zlib only
|
||||||
;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
|
;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
|
||||||
|
|
||||||
mov eax, [rcx + dsNiceMatch]
|
IFDEF INFOZIP
|
||||||
mov r10d, [rcx + dsLookahead]
|
mov [chainlenwmask], ebx
|
||||||
|
; on infozip nice_match = [nice_match]
|
||||||
|
ELSE
|
||||||
|
mov eax, nice_match
|
||||||
|
mov [chainlenwmask], ebx
|
||||||
|
mov r10d, Lookahead
|
||||||
cmp r10d, eax
|
cmp r10d, eax
|
||||||
cmovnl r10d, eax
|
cmovnl r10d, eax
|
||||||
mov [nicematch],r10d
|
mov [nicematch],r10d
|
||||||
LookaheadLess:
|
ENDIF
|
||||||
|
|
||||||
;;; register Bytef *scan = s->window + s->strstart;
|
;;; register Bytef *scan = s->window + s->strstart;
|
||||||
|
mov r10, window_ad
|
||||||
mov r10, [rcx + dsWindow]
|
mov ebp, strstart
|
||||||
mov ebp, [rcx + dsStrStart]
|
|
||||||
lea r13, [r10 + rbp]
|
lea r13, [r10 + rbp]
|
||||||
|
|
||||||
;;; Determine how many bytes the scan ptr is off from being
|
;;; Determine how many bytes the scan ptr is off from being
|
||||||
@@ -185,13 +242,16 @@ LookaheadLess:
|
|||||||
|
|
||||||
;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
|
;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
|
||||||
;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
|
;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
|
||||||
|
IFDEF INFOZIP
|
||||||
mov eax, [rcx + dsWSize]
|
mov eax,07efah ; MAX_DIST = (WSIZE-MIN_LOOKAHEAD) (0x8000-(3+8+1))
|
||||||
|
ELSE
|
||||||
|
mov eax, window_size
|
||||||
sub eax, MIN_LOOKAHEAD
|
sub eax, MIN_LOOKAHEAD
|
||||||
|
ENDIF
|
||||||
xor edi,edi
|
xor edi,edi
|
||||||
sub ebp, eax
|
sub ebp, eax
|
||||||
|
|
||||||
mov r11d, [rcx + dsPrevLen]
|
mov r11d, prev_length
|
||||||
|
|
||||||
cmovng ebp,edi
|
cmovng ebp,edi
|
||||||
|
|
||||||
@@ -207,8 +267,9 @@ LookaheadLess:
|
|||||||
;;; Posf *prev = s->prev;
|
;;; Posf *prev = s->prev;
|
||||||
|
|
||||||
movzx r12d,word ptr [r9]
|
movzx r12d,word ptr [r9]
|
||||||
movzx ebx, word ptr [r9 + r11 - 1]
|
movzx ebx, word ptr [r9 + r11 - 1]
|
||||||
mov rdi, [rcx + dsPrev]
|
|
||||||
|
mov rdi, prev_ad
|
||||||
|
|
||||||
;;; Jump into the main loop.
|
;;; Jump into the main loop.
|
||||||
|
|
||||||
@@ -312,38 +373,22 @@ LookupLoopIsZero:
|
|||||||
|
|
||||||
prefetcht1 [rsi+rdx]
|
prefetcht1 [rsi+rdx]
|
||||||
prefetcht1 [rdi+rdx]
|
prefetcht1 [rdi+rdx]
|
||||||
|
|
||||||
|
|
||||||
;;; Test the strings for equality, 8 bytes at a time. At the end,
|
;;; Test the strings for equality, 8 bytes at a time. At the end,
|
||||||
;;; adjust edx so that it is offset to the exact byte that mismatched.
|
;;; adjust rdx so that it is offset to the exact byte that mismatched.
|
||||||
;;;
|
;;;
|
||||||
;;; We already know at this point that the first three bytes of the
|
;;; We already know at this point that the first three bytes of the
|
||||||
;;; strings match each other, and they can be safely passed over before
|
;;; strings match each other, and they can be safely passed over before
|
||||||
;;; starting the compare loop. So what this code does is skip over 0-3
|
;;; starting the compare loop. So what this code does is skip over 0-3
|
||||||
;;; bytes, as much as necessary in order to dword-align the edi
|
;;; bytes, as much as necessary in order to dword-align the edi
|
||||||
;;; pointer. (esi will still be misaligned three times out of four.)
|
;;; pointer. (rsi will still be misaligned three times out of four.)
|
||||||
;;;
|
;;;
|
||||||
;;; It should be confessed that this loop usually does not represent
|
;;; It should be confessed that this loop usually does not represent
|
||||||
;;; much of the total running time. Replacing it with a more
|
;;; much of the total running time. Replacing it with a more
|
||||||
;;; straightforward "rep cmpsb" would not drastically degrade
|
;;; straightforward "rep cmpsb" would not drastically degrade
|
||||||
;;; performance.
|
;;; performance.
|
||||||
|
|
||||||
;LoopCmps:
|
|
||||||
; mov eax, [rsi + rdx]
|
|
||||||
; xor eax, [rdi + rdx]
|
|
||||||
; jnz LeaveLoopCmps
|
|
||||||
; mov eax, [rsi + rdx + 4]
|
|
||||||
; xor eax, [rdi + rdx + 4]
|
|
||||||
; jnz LeaveLoopCmps4
|
|
||||||
; add rdx, 8
|
|
||||||
; jnz LoopCmps
|
|
||||||
; jmp LenMaximum
|
|
||||||
;LeaveLoopCmps4: add rdx, 4
|
|
||||||
;LeaveLoopCmps: test eax, 0000FFFFh
|
|
||||||
; jnz LenLower
|
|
||||||
; add rdx, 2
|
|
||||||
; shr eax, 16
|
|
||||||
;LenLower: sub al, 1
|
|
||||||
; adc rdx, 0
|
|
||||||
|
|
||||||
|
|
||||||
LoopCmps:
|
LoopCmps:
|
||||||
mov rax, [rsi + rdx]
|
mov rax, [rsi + rdx]
|
||||||
@@ -400,7 +445,7 @@ LenLower: sub al, 1
|
|||||||
|
|
||||||
lea rsi,[r10+r11]
|
lea rsi,[r10+r11]
|
||||||
|
|
||||||
mov rdi, [rcx + dsPrev]
|
mov rdi, prev_ad
|
||||||
mov edx, [chainlenwmask]
|
mov edx, [chainlenwmask]
|
||||||
jmp LookupLoop
|
jmp LookupLoop
|
||||||
|
|
||||||
@@ -411,14 +456,14 @@ LenLower: sub al, 1
|
|||||||
|
|
||||||
LongerMatch:
|
LongerMatch:
|
||||||
mov r11d, eax
|
mov r11d, eax
|
||||||
mov [rcx + dsMatchStart], r8d
|
mov match_start, r8d
|
||||||
cmp eax, [nicematch]
|
cmp eax, [nicematch]
|
||||||
jge LeaveNow
|
jge LeaveNow
|
||||||
|
|
||||||
lea rsi,[r10+rax]
|
lea rsi,[r10+rax]
|
||||||
|
|
||||||
movzx ebx, word ptr [r9 + rax - 1]
|
movzx ebx, word ptr [r9 + rax - 1]
|
||||||
mov rdi, [rcx + dsPrev]
|
mov rdi, prev_ad
|
||||||
mov edx, [chainlenwmask]
|
mov edx, [chainlenwmask]
|
||||||
jmp LookupLoop
|
jmp LookupLoop
|
||||||
|
|
||||||
@@ -426,16 +471,19 @@ LongerMatch:
|
|||||||
|
|
||||||
LenMaximum:
|
LenMaximum:
|
||||||
mov r11d,MAX_MATCH
|
mov r11d,MAX_MATCH
|
||||||
mov [rcx + dsMatchStart], r8d
|
mov match_start, r8d
|
||||||
|
|
||||||
;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
|
;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
|
||||||
;;; return s->lookahead;
|
;;; return s->lookahead;
|
||||||
|
|
||||||
LeaveNow:
|
LeaveNow:
|
||||||
mov eax, [rcx + dsLookahead]
|
IFDEF INFOZIP
|
||||||
|
mov eax,r11d
|
||||||
|
ELSE
|
||||||
|
mov eax, Lookahead
|
||||||
cmp r11d, eax
|
cmp r11d, eax
|
||||||
cmovng eax, r11d
|
cmovng eax, r11d
|
||||||
|
ENDIF
|
||||||
|
|
||||||
;;; Restore the stack and return from whence we came.
|
;;; Restore the stack and return from whence we came.
|
||||||
|
|
||||||
@@ -452,7 +500,8 @@ LeaveNow:
|
|||||||
|
|
||||||
ret 0
|
ret 0
|
||||||
; please don't remove this string !
|
; please don't remove this string !
|
||||||
; Your can freely use gvmat32 in any free or commercial app if you don't remove the string in the binary!
|
; Your can freely use gvmat64 in any free or commercial app
|
||||||
|
; but it is far better don't remove the string in the binary!
|
||||||
db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0
|
db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0
|
||||||
longest_match ENDP
|
longest_match ENDP
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -644,9 +644,9 @@ L_init_mmx:
|
|||||||
movd mm0,ebp
|
movd mm0,ebp
|
||||||
mov ebp,ebx
|
mov ebp,ebx
|
||||||
; 896 "inffast.S"
|
; 896 "inffast.S"
|
||||||
movd mm4,[esp+0]
|
movd mm4,dword ptr [esp+0]
|
||||||
movq mm3,mm4
|
movq mm3,mm4
|
||||||
movd mm5,[esp+4]
|
movd mm5,dword ptr [esp+4]
|
||||||
movq mm2,mm5
|
movq mm2,mm5
|
||||||
pxor mm1,mm1
|
pxor mm1,mm1
|
||||||
mov ebx, [esp+8]
|
mov ebx, [esp+8]
|
||||||
@@ -660,7 +660,7 @@ L_do_loop_mmx:
|
|||||||
ja L_get_length_code_mmx
|
ja L_get_length_code_mmx
|
||||||
|
|
||||||
movd mm6,ebp
|
movd mm6,ebp
|
||||||
movd mm7,[esi]
|
movd mm7,dword ptr [esi]
|
||||||
add esi,4
|
add esi,4
|
||||||
psllq mm7,mm6
|
psllq mm7,mm6
|
||||||
add ebp,32
|
add ebp,32
|
||||||
@@ -717,7 +717,7 @@ L_decode_distance_mmx:
|
|||||||
ja L_get_dist_code_mmx
|
ja L_get_dist_code_mmx
|
||||||
|
|
||||||
movd mm6,ebp
|
movd mm6,ebp
|
||||||
movd mm7,[esi]
|
movd mm7,dword ptr [esi]
|
||||||
add esi,4
|
add esi,4
|
||||||
psllq mm7,mm6
|
psllq mm7,mm6
|
||||||
add ebp,32
|
add ebp,32
|
||||||
|
|||||||
@@ -1163,6 +1163,8 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password)
|
|||||||
|
|
||||||
s->pfile_in_zip_read = pfile_in_zip_read_info;
|
s->pfile_in_zip_read = pfile_in_zip_read_info;
|
||||||
|
|
||||||
|
s->encrypted = 0;
|
||||||
|
|
||||||
# ifndef NOUNCRYPT
|
# ifndef NOUNCRYPT
|
||||||
if (password != NULL)
|
if (password != NULL)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ unit zlibpas;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
const
|
const
|
||||||
ZLIB_VERSION = '1.2.2';
|
ZLIB_VERSION = '1.2.3';
|
||||||
|
|
||||||
type
|
type
|
||||||
alloc_func = function(opaque: Pointer; items, size: Integer): Pointer;
|
alloc_func = function(opaque: Pointer; items, size: Integer): Pointer;
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
; rdtsc64.asm
|
|
||||||
;
|
|
||||||
; unsigned _int64 myrdtsc();
|
|
||||||
;
|
|
||||||
; return the performance rdtsc value, on AMD64/Intel EM64T
|
|
||||||
;
|
|
||||||
; compile with :
|
|
||||||
; ml64.exe" /Flrdtsc64 /c /Zi rdtsc64.asm
|
|
||||||
;
|
|
||||||
.code
|
|
||||||
myrdtsc PROC
|
|
||||||
rdtsc
|
|
||||||
shl rdx,32
|
|
||||||
or rax,rdx
|
|
||||||
ret
|
|
||||||
myrdtsc ENDP
|
|
||||||
|
|
||||||
END
|
|
||||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
#include "zlib.h"
|
#include "zlib.h"
|
||||||
|
|
||||||
|
|
||||||
@@ -17,23 +17,25 @@ void MyDoMinus64(LARGE_INTEGER *R,LARGE_INTEGER A,LARGE_INTEGER B)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _AMD64_
|
#ifdef _M_X64
|
||||||
unsigned _int64 myrdtsc();
|
// see http://msdn2.microsoft.com/library/twchhe95(en-us,vs.80).aspx for __rdtsc
|
||||||
|
unsigned __int64 __rdtsc(void);
|
||||||
void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
|
void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
|
||||||
{
|
{
|
||||||
// printf("rdtsc = %I64x\n",myrdtsc());
|
// printf("rdtsc = %I64x\n",__rdtsc());
|
||||||
pbeginTime64->QuadPart=myrdtsc();
|
pbeginTime64->QuadPart=__rdtsc();
|
||||||
}
|
}
|
||||||
|
|
||||||
LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
|
LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER LIres;
|
LARGE_INTEGER LIres;
|
||||||
unsigned _int64 res=myrdtsc()-((unsigned _int64)(beginTime64.QuadPart));
|
unsigned _int64 res=__rdtsc()-((unsigned _int64)(beginTime64.QuadPart));
|
||||||
LIres.QuadPart=res;
|
LIres.QuadPart=res;
|
||||||
// printf("rdtsc = %I64x\n",myrdtsc());
|
// printf("rdtsc = %I64x\n",__rdtsc());
|
||||||
return LIres;
|
return LIres;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
#ifdef _M_IX86
|
||||||
void myGetRDTSC32(LARGE_INTEGER * pbeginTime64)
|
void myGetRDTSC32(LARGE_INTEGER * pbeginTime64)
|
||||||
{
|
{
|
||||||
DWORD dwEdx,dwEax;
|
DWORD dwEdx,dwEax;
|
||||||
@@ -61,8 +63,23 @@ LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
|
|||||||
MyDoMinus64(&LIres,endTime64,beginTime64);
|
MyDoMinus64(&LIres,endTime64,beginTime64);
|
||||||
return LIres;
|
return LIres;
|
||||||
}
|
}
|
||||||
#endif
|
#else
|
||||||
|
void myGetRDTSC32(LARGE_INTEGER * pbeginTime64)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
|
||||||
|
{
|
||||||
|
LARGE_INTEGER lr;
|
||||||
|
lr.QuadPart=0;
|
||||||
|
return lr;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
void BeginCountPerfCounter(LARGE_INTEGER * pbeginTime64,BOOL fComputeTimeQueryPerf)
|
void BeginCountPerfCounter(LARGE_INTEGER * pbeginTime64,BOOL fComputeTimeQueryPerf)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
Microsoft Visual Studio Solution File, Format Version 7.00
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfiguration) = preSolution
|
|
||||||
ConfigName.0 = Debug
|
|
||||||
ConfigName.1 = Release
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectDependencies) = postSolution
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfiguration) = postSolution
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug.ActiveCfg = Debug|Win32
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug.Build.0 = Debug|Win32
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release.ActiveCfg = Release|Win32
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release.Build.0 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
|
||||||
# Visual Studio 2005
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib8", "testzlib8.vcproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
Debug|Win64 (AMD64) = Debug|Win64 (AMD64)
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
Release|Win64 (AMD64) = Release|Win64 (AMD64)
|
|
||||||
ReleaseAsm|Win32 = ReleaseAsm|Win32
|
|
||||||
ReleaseAsm|Win64 (AMD64) = ReleaseAsm|Win64 (AMD64)
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win64 (AMD64).ActiveCfg = Debug|Win64 (AMD64)
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win64 (AMD64).Build.0 = Debug|Win64 (AMD64)
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win64 (AMD64).ActiveCfg = Release|Win64 (AMD64)
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win64 (AMD64).Build.0 = Release|Win64 (AMD64)
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseAsm|Win32.ActiveCfg = ReleaseAsm|Win32
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseAsm|Win32.Build.0 = ReleaseAsm|Win32
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseAsm|Win64 (AMD64).ActiveCfg = ReleaseAsm|Win64 (AMD64)
|
|
||||||
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseAsm|Win64 (AMD64).Build.0 = ReleaseAsm|Win64 (AMD64)
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
Building instructions for the DLL versions of Zlib 1.2.x
|
Building instructions for the DLL versions of Zlib 1.2.3
|
||||||
=======================================================
|
========================================================
|
||||||
|
|
||||||
This directory contains projects that build zlib and minizip using
|
This directory contains projects that build zlib and minizip using
|
||||||
Microsoft Visual C++ 7.0/7.1.
|
Microsoft Visual C++ 7.0/7.1, and Visual C++ .
|
||||||
|
|
||||||
You don't need to build these projects yourself. You can download the
|
You don't need to build these projects yourself. You can download the
|
||||||
binaries from:
|
binaries from:
|
||||||
@@ -11,18 +11,36 @@ binaries from:
|
|||||||
More information can be found at this site.
|
More information can be found at this site.
|
||||||
|
|
||||||
|
|
||||||
Build instructions
|
Build instructions for Visual Studio 7.x (32 bits)
|
||||||
------------------
|
--------------------------------------------------
|
||||||
- Unzip zlib*.zip and copy the files from contrib\vstudio\vc7,
|
- Uncompress current zlib, including all contrib/* files
|
||||||
from contrib\vstudio\masmx86 and from contrib\minizip into the same
|
|
||||||
directory.
|
|
||||||
- Download the crtdll library from
|
- Download the crtdll library from
|
||||||
http://www.winimage.com/zLibDll/crtdll.zip
|
http://www.winimage.com/zLibDll/crtdll.zip
|
||||||
Unzip crtdll.zip to extract crtdll.lib.
|
Unzip crtdll.zip to extract crtdll.lib on contrib\vstudio\vc7.
|
||||||
- If you are using x86, use the Release target.
|
- Open contrib\vstudio\vc7\zlibvc.sln with Microsoft Visual C++ 7.x
|
||||||
- Open zlibvc.sln with Microsoft Visual C++ 7.0 or 7.1
|
|
||||||
(Visual Studio .Net 2002 or 2003).
|
(Visual Studio .Net 2002 or 2003).
|
||||||
|
|
||||||
|
Build instructions for Visual Studio 2005 (32 bits or 64 bits)
|
||||||
|
--------------------------------------------------------------
|
||||||
|
- Uncompress current zlib, including all contrib/* files
|
||||||
|
- For 32 bits only: download the crtdll library from
|
||||||
|
http://www.winimage.com/zLibDll/crtdll.zip
|
||||||
|
Unzip crtdll.zip to extract crtdll.lib on contrib\vstudio\vc8.
|
||||||
|
- Open contrib\vstudio\vc8\zlibvc.sln with Microsoft Visual C++ 8.0
|
||||||
|
|
||||||
|
Build instructions for Visual Studio 2005 64 bits, PSDK compiler
|
||||||
|
----------------------------------------------------------------
|
||||||
|
at the time of writing this text file, Visual Studio 2005 (and
|
||||||
|
Microsoft Visual C++ 8.0) is on the beta 2 stage.
|
||||||
|
Using you can get the free 64 bits compiler from Platform SDK,
|
||||||
|
which is NOT a beta, and compile using the Visual studio 2005 IDE
|
||||||
|
see http://www.winimage.com/misc/sdk64onvs2005/ for instruction
|
||||||
|
|
||||||
|
- Uncompress current zlib, including all contrib/* files
|
||||||
|
- start Visual Studio 2005 from a platform SDK command prompt, using
|
||||||
|
the /useenv switch
|
||||||
|
- Open contrib\vstudio\vc8\zlibvc.sln with Microsoft Visual C++ 8.0
|
||||||
|
|
||||||
|
|
||||||
Important
|
Important
|
||||||
---------
|
---------
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE"
|
||||||
MinimalRebuild="TRUE"
|
MinimalRebuild="TRUE"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
@@ -63,6 +64,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
OmitFramePointers="TRUE"
|
OmitFramePointers="TRUE"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
RuntimeLibrary="4"
|
RuntimeLibrary="4"
|
||||||
@@ -104,7 +106,7 @@
|
|||||||
Name="Source Files"
|
Name="Source Files"
|
||||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
|
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
|
||||||
<File
|
<File
|
||||||
RelativePath="miniunz.c">
|
RelativePath="..\..\minizip\miniunz.c">
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
@@ -116,7 +118,7 @@
|
|||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
||||||
</Filter>
|
</Filter>
|
||||||
<File
|
<File
|
||||||
RelativePath="zlibwapi.lib">
|
RelativePath="ReleaseDll\zlibwapi.lib">
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE"
|
||||||
MinimalRebuild="TRUE"
|
MinimalRebuild="TRUE"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
@@ -63,6 +64,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
OmitFramePointers="TRUE"
|
OmitFramePointers="TRUE"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
RuntimeLibrary="4"
|
RuntimeLibrary="4"
|
||||||
@@ -104,7 +106,7 @@
|
|||||||
Name="Source Files"
|
Name="Source Files"
|
||||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
|
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
|
||||||
<File
|
<File
|
||||||
RelativePath="minizip.c">
|
RelativePath="..\..\minizip\minizip.c">
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
@@ -116,7 +118,7 @@
|
|||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
||||||
</Filter>
|
</Filter>
|
||||||
<File
|
<File
|
||||||
RelativePath="zlibwapi.lib">
|
RelativePath="ReleaseDll\zlibwapi.lib">
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="7.00"
|
Version="7.00"
|
||||||
Name="testzlib"
|
Name="testZlibDll"
|
||||||
ProjectGUID="{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
|
ProjectGUID="{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}"
|
||||||
Keyword="Win32Proj">
|
Keyword="Win32Proj">
|
||||||
<Platforms>
|
<Platforms>
|
||||||
<Platform
|
<Platform
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE"
|
||||||
MinimalRebuild="TRUE"
|
MinimalRebuild="TRUE"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
@@ -63,6 +64,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
OmitFramePointers="TRUE"
|
OmitFramePointers="TRUE"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
RuntimeLibrary="4"
|
RuntimeLibrary="4"
|
||||||
@@ -104,7 +106,7 @@
|
|||||||
Name="Source Files"
|
Name="Source Files"
|
||||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
|
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
|
||||||
<File
|
<File
|
||||||
RelativePath="testzlib.c">
|
RelativePath="..\..\testzlib\testzlib.c">
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
@@ -116,7 +118,7 @@
|
|||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
||||||
</Filter>
|
</Filter>
|
||||||
<File
|
<File
|
||||||
RelativePath="zlibwapi.lib">
|
RelativePath="ReleaseDll\zlibwapi.lib">
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
@@ -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,2,3
|
FILEVERSION 1,2,3,2
|
||||||
PRODUCTVERSION 1,2,2,3
|
PRODUCTVERSION 1,2,3,2
|
||||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
FILEFLAGS 0
|
FILEFLAGS 0
|
||||||
FILEOS VOS_DOS_WINDOWS32
|
FILEOS VOS_DOS_WINDOWS32
|
||||||
@@ -17,12 +17,12 @@ BEGIN
|
|||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "zlib data compression library\0"
|
VALUE "FileDescription", "zlib data compression library\0"
|
||||||
VALUE "FileVersion", "1.2.2.3\0"
|
VALUE "FileVersion", "1.2.3.2\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"
|
||||||
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
||||||
VALUE "LegalCopyright", "(C) 1995-2003 Jean-loup Gailly & Mark Adler\0"
|
VALUE "LegalCopyright", "(C) 1995-2006 Jean-loup Gailly & Mark Adler\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI"
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI"
|
||||||
ExceptionHandling="FALSE"
|
ExceptionHandling="FALSE"
|
||||||
RuntimeLibrary="5"
|
RuntimeLibrary="5"
|
||||||
@@ -61,6 +62,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI"
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
ExceptionHandling="FALSE"
|
||||||
@@ -102,6 +104,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;ASMV;ASMINF"
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;ASMV;ASMINF"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
ExceptionHandling="FALSE"
|
||||||
@@ -117,7 +120,7 @@
|
|||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalOptions="gvmat32.obj inffas32.obj /NODEFAULTLIB "
|
AdditionalOptions="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj /NODEFAULTLIB "
|
||||||
OutputFile=".\zlibstat\zlibstat.lib"
|
OutputFile=".\zlibstat\zlibstat.lib"
|
||||||
SuppressStartupBanner="TRUE"/>
|
SuppressStartupBanner="TRUE"/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -144,6 +147,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI"
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
ExceptionHandling="FALSE"
|
||||||
@@ -182,49 +186,49 @@
|
|||||||
Name="Source Files"
|
Name="Source Files"
|
||||||
Filter="">
|
Filter="">
|
||||||
<File
|
<File
|
||||||
RelativePath=".\adler32.c">
|
RelativePath="..\..\..\adler32.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\compress.c">
|
RelativePath="..\..\..\compress.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\crc32.c">
|
RelativePath="..\..\..\crc32.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\deflate.c">
|
RelativePath="..\..\..\deflate.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\gvmat32c.c">
|
RelativePath="..\..\masmx86\gvmat32c.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\gzio.c">
|
RelativePath="..\..\..\gzio.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\infback.c">
|
RelativePath="..\..\..\infback.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\inffast.c">
|
RelativePath="..\..\..\inffast.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\inflate.c">
|
RelativePath="..\..\..\inflate.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\inftrees.c">
|
RelativePath="..\..\..\inftrees.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\ioapi.c">
|
RelativePath="..\..\minizip\ioapi.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\trees.c">
|
RelativePath="..\..\..\trees.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\uncompr.c">
|
RelativePath="..\..\..\uncompr.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\unzip.c">
|
RelativePath="..\..\minizip\unzip.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\zip.c">
|
RelativePath="..\..\minizip\zip.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\zlib.rc">
|
RelativePath=".\zlib.rc">
|
||||||
@@ -233,7 +237,7 @@
|
|||||||
RelativePath=".\zlibvc.def">
|
RelativePath=".\zlibvc.def">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\zutil.c">
|
RelativePath="..\..\..\zutil.c">
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
</Files>
|
</Files>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
VERSION 1.21
|
VERSION 1.23
|
||||||
|
|
||||||
HEAPSIZE 1048576,8192
|
HEAPSIZE 1048576,8192
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcproj",
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testZlibDll", "testzlib.vcproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfiguration) = preSolution
|
GlobalSection(SolutionConfiguration) = preSolution
|
||||||
ConfigName.0 = Debug
|
ConfigName.0 = Debug
|
||||||
@@ -58,6 +60,16 @@ Global
|
|||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm.Build.0 = Release|Win32
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm.Build.0 = Release|Win32
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutCrtdll.ActiveCfg = Release|Win32
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutCrtdll.ActiveCfg = Release|Win32
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutCrtdll.Build.0 = Release|Win32
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutCrtdll.Build.0 = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}.Debug.ActiveCfg = Debug|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}.Debug.Build.0 = Debug|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}.Release.ActiveCfg = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}.Release.Build.0 = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}.ReleaseAxp.ActiveCfg = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}.ReleaseAxp.Build.0 = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}.ReleaseWithoutAsm.ActiveCfg = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}.ReleaseWithoutAsm.Build.0 = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}.ReleaseWithoutCrtdll.ActiveCfg = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654C}.ReleaseWithoutCrtdll.Build.0 = Release|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
PreprocessorDefinitions="WIN32,ZLIB_WINAPI,ASMV,ASMINF"
|
PreprocessorDefinitions="WIN32,ZLIB_WINAPI,ASMV,ASMINF"
|
||||||
ExceptionHandling="FALSE"
|
ExceptionHandling="FALSE"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
@@ -35,7 +36,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalOptions="/MACHINE:I386"
|
AdditionalOptions="/MACHINE:I386"
|
||||||
AdditionalDependencies="gvmat32.obj inffas32.obj"
|
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj"
|
||||||
OutputFile=".\DebugDll\zlibwapi.dll"
|
OutputFile=".\DebugDll\zlibwapi.dll"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
@@ -72,10 +73,12 @@
|
|||||||
IntermediateDirectory=".\zlibDllWithoutAsm"
|
IntermediateDirectory=".\zlibDllWithoutAsm"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||||
|
WholeProgramOptimization="TRUE">
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
PreprocessorDefinitions="WIN32,ZLIB_WINAPI"
|
PreprocessorDefinitions="WIN32,ZLIB_WINAPI"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
ExceptionHandling="FALSE"
|
||||||
@@ -134,10 +137,12 @@
|
|||||||
IntermediateDirectory=".\zlibDllWithoutCrtDll"
|
IntermediateDirectory=".\zlibDllWithoutCrtDll"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||||
|
WholeProgramOptimization="TRUE">
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
PreprocessorDefinitions="WIN32,ZLIB_WINAPI,ASMV,ASMINF"
|
PreprocessorDefinitions="WIN32,ZLIB_WINAPI,ASMV,ASMINF"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
ExceptionHandling="FALSE"
|
||||||
@@ -156,7 +161,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalOptions="/MACHINE:I386"
|
AdditionalOptions="/MACHINE:I386"
|
||||||
AdditionalDependencies="gvmat32.obj inffas32.obj "
|
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj "
|
||||||
OutputFile=".\zlibDllWithoutCrtDll\zlibwapi.dll"
|
OutputFile=".\zlibDllWithoutCrtDll\zlibwapi.dll"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
@@ -196,10 +201,12 @@
|
|||||||
IntermediateDirectory=".\zlibvc__"
|
IntermediateDirectory=".\zlibvc__"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||||
|
WholeProgramOptimization="TRUE">
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
PreprocessorDefinitions="WIN32,ZLIB_WINAPI"
|
PreprocessorDefinitions="WIN32,ZLIB_WINAPI"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
ExceptionHandling="FALSE"
|
||||||
@@ -256,10 +263,12 @@
|
|||||||
IntermediateDirectory=".\ReleaseDll"
|
IntermediateDirectory=".\ReleaseDll"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||||
|
WholeProgramOptimization="TRUE">
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
PreprocessorDefinitions="WIN32,ZLIB_WINAPI,ASMV,ASMINF"
|
PreprocessorDefinitions="WIN32,ZLIB_WINAPI,ASMV,ASMINF"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
ExceptionHandling="FALSE"
|
||||||
@@ -278,7 +287,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalOptions="/MACHINE:I386"
|
AdditionalOptions="/MACHINE:I386"
|
||||||
AdditionalDependencies="gvmat32.obj inffas32.obj crtdll.lib"
|
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj crtdll.lib"
|
||||||
OutputFile=".\ReleaseDll\zlibwapi.dll"
|
OutputFile=".\ReleaseDll\zlibwapi.dll"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
@@ -318,19 +327,19 @@
|
|||||||
Name="Source Files"
|
Name="Source Files"
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90">
|
Filter="cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90">
|
||||||
<File
|
<File
|
||||||
RelativePath=".\adler32.c">
|
RelativePath="..\..\..\adler32.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\compress.c">
|
RelativePath="..\..\..\compress.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\crc32.c">
|
RelativePath="..\..\..\crc32.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\deflate.c">
|
RelativePath="..\..\..\deflate.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\gvmat32c.c">
|
RelativePath="..\..\masmx86\gvmat32c.c">
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="ReleaseWithoutAsm|Win32"
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
ExcludedFromBuild="TRUE">
|
ExcludedFromBuild="TRUE">
|
||||||
@@ -339,34 +348,34 @@
|
|||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\gzio.c">
|
RelativePath="..\..\..\gzio.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\infback.c">
|
RelativePath="..\..\..\infback.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\inffast.c">
|
RelativePath="..\..\..\inffast.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\inflate.c">
|
RelativePath="..\..\..\inflate.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\inftrees.c">
|
RelativePath="..\..\..\inftrees.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\ioapi.c">
|
RelativePath="..\..\minizip\ioapi.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\iowin32.c">
|
RelativePath="..\..\minizip\iowin32.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\trees.c">
|
RelativePath="..\..\..\trees.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\uncompr.c">
|
RelativePath="..\..\..\uncompr.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\unzip.c">
|
RelativePath="..\..\minizip\unzip.c">
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|Win32">
|
Name="Release|Win32">
|
||||||
<Tool
|
<Tool
|
||||||
@@ -376,7 +385,7 @@
|
|||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\zip.c">
|
RelativePath="..\..\minizip\zip.c">
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|Win32">
|
Name="Release|Win32">
|
||||||
<Tool
|
<Tool
|
||||||
@@ -392,38 +401,38 @@
|
|||||||
RelativePath=".\zlibvc.def">
|
RelativePath=".\zlibvc.def">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\zutil.c">
|
RelativePath="..\..\..\zutil.c">
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Header Files"
|
Name="Header Files"
|
||||||
Filter="h;hpp;hxx;hm;inl;fi;fd">
|
Filter="h;hpp;hxx;hm;inl;fi;fd">
|
||||||
<File
|
<File
|
||||||
RelativePath=".\deflate.h">
|
RelativePath="..\..\..\deflate.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\infblock.h">
|
RelativePath="..\..\..\infblock.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\infcodes.h">
|
RelativePath="..\..\..\infcodes.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\inffast.h">
|
RelativePath="..\..\..\inffast.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\inftrees.h">
|
RelativePath="..\..\..\inftrees.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\infutil.h">
|
RelativePath="..\..\..\infutil.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\zconf.h">
|
RelativePath="..\..\..\zconf.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\zlib.h">
|
RelativePath="..\..\..\zlib.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\zutil.h">
|
RelativePath="..\..\..\zutil.h">
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
|
|||||||
566
contrib/vstudio/vc8/miniunz.vcproj
Normal file
566
contrib/vstudio/vc8/miniunz.vcproj
Normal file
@@ -0,0 +1,566 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="8,00"
|
||||||
|
Name="miniunz"
|
||||||
|
ProjectGUID="{C52F9E7B-498A-42BE-8DB4-85A15694382A}"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="Itanium"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
OutputDirectory="x86\MiniUnzip$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\MiniUnzip$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="x86\ZlibDllDebug\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/miniunz.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/miniunz.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
OutputDirectory="x64\MiniUnzip$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\MiniUnzip$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="x64\ZlibDllDebug\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/miniunz.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/miniunz.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Itanium"
|
||||||
|
OutputDirectory="ia64\MiniUnzip$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\MiniUnzip$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="ia64\ZlibDllDebug\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/miniunz.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/miniunz.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="5"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
OutputDirectory="x86\MiniUnzip$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\MiniUnzip$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="x86\ZlibDllRelease\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/miniunz.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
OutputDirectory="x64\MiniUnzip$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\MiniUnzip$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="x64\ZlibDllRelease\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/miniunz.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Itanium"
|
||||||
|
OutputDirectory="ia64\MiniUnzip$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\MiniUnzip$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="ia64\ZlibDllRelease\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/miniunz.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
TargetMachine="5"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
|
||||||
|
>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\minizip\miniunz.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
||||||
563
contrib/vstudio/vc8/minizip.vcproj
Normal file
563
contrib/vstudio/vc8/minizip.vcproj
Normal file
@@ -0,0 +1,563 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="8,00"
|
||||||
|
Name="minizip"
|
||||||
|
ProjectGUID="{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="Itanium"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
OutputDirectory="x86\MiniZip$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\MiniZip$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="x86\ZlibDllDebug\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/minizip.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/minizip.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
OutputDirectory="x64\$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\$(ConfigurationName)"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="x64\ZlibDllDebug\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/minizip.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/minizip.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Itanium"
|
||||||
|
OutputDirectory="ia64\$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\$(ConfigurationName)"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="ia64\ZlibDllDebug\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/minizip.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/minizip.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="5"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
OutputDirectory="x86\MiniZip$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\MiniZip$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="x86\ZlibDllRelease\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/minizip.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
OutputDirectory="x64\$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\$(ConfigurationName)"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="x64\ZlibDllRelease\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/minizip.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Itanium"
|
||||||
|
OutputDirectory="ia64\$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\$(ConfigurationName)"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="ia64\ZlibDllRelease\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/minizip.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
TargetMachine="5"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
|
||||||
|
>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\minizip\minizip.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
||||||
948
contrib/vstudio/vc8/testzlib.vcproj
Normal file
948
contrib/vstudio/vc8/testzlib.vcproj
Normal file
@@ -0,0 +1,948 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="8,00"
|
||||||
|
Name="testzlib"
|
||||||
|
ProjectGUID="{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
|
||||||
|
RootNamespace="testzlib"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="Itanium"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
OutputDirectory="x86\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerOutput="4"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj"
|
||||||
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/testzlib.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
OutputDirectory="x64\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj"
|
||||||
|
GenerateManifest="false"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Itanium"
|
||||||
|
OutputDirectory="ia64\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerOutput="4"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/testzlib.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="5"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
|
OutputDirectory="x86\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="ReleaseWithoutAsm|x64"
|
||||||
|
OutputDirectory="x64\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies=""
|
||||||
|
GenerateManifest="false"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="ReleaseWithoutAsm|Itanium"
|
||||||
|
OutputDirectory="ia64\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
TargetMachine="5"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
OutputDirectory="x86\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj"
|
||||||
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
OutputDirectory="x64\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj"
|
||||||
|
GenerateManifest="false"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Itanium"
|
||||||
|
OutputDirectory="ia64\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
TargetMachine="5"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
|
||||||
|
>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\adler32.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\compress.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\crc32.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\deflate.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\masmx86\gvmat32c.c"
|
||||||
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|x64"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|x64"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win64 (AMD64)"
|
||||||
|
ExcludedFromBuild="TRUE"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win64 (AMD64)"
|
||||||
|
ExcludedFromBuild="TRUE"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseAsm|Win64 (AMD64)"
|
||||||
|
ExcludedFromBuild="TRUE"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\infback.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\masmx64\inffas8664.c"
|
||||||
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\inffast.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\inflate.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\inftrees.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\testzlib\testzlib.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\trees.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\uncompr.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\zutil.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
||||||
@@ -2,29 +2,31 @@
|
|||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="8,00"
|
Version="8,00"
|
||||||
Name="testzlib8"
|
Name="TestZlibDll"
|
||||||
ProjectGUID="{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
|
ProjectGUID="{C52F9E7B-498A-42BE-8DB4-85A15694366A}"
|
||||||
Keyword="Win32Proj"
|
Keyword="Win32Proj"
|
||||||
|
SignManifests="true"
|
||||||
>
|
>
|
||||||
<Platforms>
|
<Platforms>
|
||||||
<Platform
|
<Platform
|
||||||
Name="Win32"
|
Name="Win32"
|
||||||
/>
|
/>
|
||||||
<Platform
|
<Platform
|
||||||
Name="Win64 (AMD64)"
|
Name="x64"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="Itanium"
|
||||||
/>
|
/>
|
||||||
</Platforms>
|
</Platforms>
|
||||||
<ToolFiles>
|
<ToolFiles>
|
||||||
<DefaultToolFile
|
|
||||||
FileName="masm.tool"
|
|
||||||
/>
|
|
||||||
</ToolFiles>
|
</ToolFiles>
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
OutputDirectory="x86\$(ConfigurationName)"
|
OutputDirectory="x86\TestZlibDll$(ConfigurationName)"
|
||||||
IntermediateDirectory="x86\$(ConfigurationName)"
|
IntermediateDirectory="x86\TestZlibDll$(ConfigurationName)\Tmp"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -33,9 +35,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
@@ -48,14 +47,16 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
MinimalRebuild="TRUE"
|
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE"
|
||||||
BasicRuntimeChecks="3"
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
AssemblerOutput="4"
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="4"
|
DebugInformationFormat="4"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -69,10 +70,11 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="gvmat32.obj inffas32.obj"
|
AdditionalDependencies="x86\ZlibDllDebug\zlibwapi.lib"
|
||||||
OutputFile="$(OutDir)/testzlib.exe"
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
GenerateDebugInformation="TRUE"
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
ProgramDatabaseFile="$(OutDir)/testzlib.pdb"
|
ProgramDatabaseFile="$(OutDir)/testzlib.pdb"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
TargetMachine="1"
|
TargetMachine="1"
|
||||||
@@ -89,6 +91,9 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
@@ -100,10 +105,11 @@
|
|||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win64 (AMD64)"
|
Name="Debug|x64"
|
||||||
OutputDirectory="amd64\$(ConfigurationName)"
|
OutputDirectory="x64\TestZlibDll$(ConfigurationName)"
|
||||||
IntermediateDirectory="amd64\$(ConfigurationName)"
|
IntermediateDirectory="x64\TestZlibDll$(ConfigurationName)\Tmp"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -112,9 +118,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
@@ -128,14 +131,16 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
MinimalRebuild="TRUE"
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64"
|
||||||
BasicRuntimeChecks="3"
|
MinimalRebuild="true"
|
||||||
RuntimeLibrary="1"
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
AssemblerOutput="4"
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -146,14 +151,14 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
CommandLine=""
|
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="gvmat64.obj inffasx64.obj rdtsc64.obj"
|
AdditionalDependencies="x64\ZlibDllDebug\zlibwapi.lib"
|
||||||
OutputFile="$(OutDir)/testzlib.exe"
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
GenerateDebugInformation="TRUE"
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
ProgramDatabaseFile="$(OutDir)/testzlib.pdb"
|
ProgramDatabaseFile="$(OutDir)/testzlib.pdb"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
TargetMachine="17"
|
TargetMachine="17"
|
||||||
@@ -170,6 +175,96 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Itanium"
|
||||||
|
OutputDirectory="ia64\TestZlibDll$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\TestZlibDll$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="ia64\ZlibDllDebug\zlibwapi.lib"
|
||||||
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/testzlib.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="5"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
@@ -179,9 +274,10 @@
|
|||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
OutputDirectory="x86\$(ConfigurationName)"
|
OutputDirectory="x86\TestZlibDll$(ConfigurationName)"
|
||||||
IntermediateDirectory="x86\$(ConfigurationName)"
|
IntermediateDirectory="x86\TestZlibDll$(ConfigurationName)\Tmp"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -190,9 +286,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
@@ -206,14 +299,18 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
OmitFramePointers="TRUE"
|
OmitFramePointers="true"
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
StringPooling="TRUE"
|
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="TRUE"
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -227,9 +324,11 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="x86\ZlibDllRelease\zlibwapi.lib"
|
||||||
OutputFile="$(OutDir)/testzlib.exe"
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
GenerateDebugInformation="TRUE"
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
OptimizeReferences="2"
|
OptimizeReferences="2"
|
||||||
EnableCOMDATFolding="2"
|
EnableCOMDATFolding="2"
|
||||||
@@ -248,6 +347,9 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
@@ -259,10 +361,11 @@
|
|||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win64 (AMD64)"
|
Name="Release|x64"
|
||||||
OutputDirectory="amd64\$(ConfigurationName)"
|
OutputDirectory="x64\TestZlibDll$(ConfigurationName)"
|
||||||
IntermediateDirectory="amd64\$(ConfigurationName)"
|
IntermediateDirectory="x64\TestZlibDll$(ConfigurationName)\Tmp"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -271,9 +374,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
@@ -288,14 +388,18 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
OmitFramePointers="TRUE"
|
OmitFramePointers="true"
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
StringPooling="TRUE"
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64"
|
||||||
RuntimeLibrary="0"
|
StringPooling="true"
|
||||||
EnableFunctionLevelLinking="TRUE"
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -309,10 +413,11 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="rdtsc64.obj"
|
AdditionalDependencies="x64\ZlibDllRelease\zlibwapi.lib"
|
||||||
OutputFile="$(OutDir)/testzlib.exe"
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
GenerateDebugInformation="TRUE"
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
OptimizeReferences="2"
|
OptimizeReferences="2"
|
||||||
EnableCOMDATFolding="2"
|
EnableCOMDATFolding="2"
|
||||||
@@ -332,83 +437,7 @@
|
|||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="ReleaseAsm|Win32"
|
|
||||||
OutputDirectory="x86\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="x86\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="MASM"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
OmitFramePointers="TRUE"
|
|
||||||
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
|
|
||||||
StringPooling="TRUE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="TRUE"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="gvmat32.obj inffas32.obj"
|
|
||||||
OutputFile="$(OutDir)/testzlib.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="TRUE"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
@@ -421,22 +450,19 @@
|
|||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="ReleaseAsm|Win64 (AMD64)"
|
Name="Release|Itanium"
|
||||||
OutputDirectory="amd64\$(ConfigurationName)"
|
OutputDirectory="ia64\TestZlibDll$(ConfigurationName)"
|
||||||
IntermediateDirectory="amd64\$(ConfigurationName)"
|
IntermediateDirectory="ia64\TestZlibDll$(ConfigurationName)\Tmp"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
CommandLine=""
|
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
@@ -445,21 +471,24 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
TargetEnvironment="3"
|
TargetEnvironment="2"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
OmitFramePointers="TRUE"
|
OmitFramePointers="true"
|
||||||
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
|
AdditionalIncludeDirectories="..\..\..;..\..\minizip"
|
||||||
StringPooling="TRUE"
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64"
|
||||||
RuntimeLibrary="0"
|
StringPooling="true"
|
||||||
EnableFunctionLevelLinking="TRUE"
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
AssemblerOutput="4"
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -470,19 +499,19 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
CommandLine=""
|
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="gvmat64.obj inffasx64.obj rdtsc64.obj"
|
AdditionalDependencies="ia64\ZlibDllRelease\zlibwapi.lib"
|
||||||
OutputFile="$(OutDir)/testzlib.exe"
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
GenerateDebugInformation="TRUE"
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
OptimizeReferences="2"
|
OptimizeReferences="2"
|
||||||
EnableCOMDATFolding="2"
|
EnableCOMDATFolding="2"
|
||||||
OptimizeForWindows98="1"
|
OptimizeForWindows98="1"
|
||||||
TargetMachine="17"
|
TargetMachine="5"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
@@ -496,6 +525,12 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
@@ -512,113 +547,7 @@
|
|||||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
|
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
|
||||||
>
|
>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\adler32.c"
|
RelativePath="..\..\testzlib\testzlib.c"
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\crc32.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\deflate.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gvmat32c.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win64 (AMD64)"
|
|
||||||
ExcludedFromBuild="TRUE"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win64 (AMD64)"
|
|
||||||
ExcludedFromBuild="TRUE"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseAsm|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseAsm|Win64 (AMD64)"
|
|
||||||
ExcludedFromBuild="TRUE"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\infback.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inffas8664.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
ExcludedFromBuild="TRUE"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseAsm|Win32"
|
|
||||||
ExcludedFromBuild="TRUE"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inffast.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inflate.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inftrees.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="testzlib.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\trees.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\uncompr.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\zutil.c"
|
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
32
contrib/vstudio/vc8/zlib.rc
Normal file
32
contrib/vstudio/vc8/zlib.rc
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
#define IDR_VERSION1 1
|
||||||
|
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
||||||
|
FILEVERSION 1,2,3,0
|
||||||
|
PRODUCTVERSION 1,2,3,0
|
||||||
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
|
FILEFLAGS 0
|
||||||
|
FILEOS VOS_DOS_WINDOWS32
|
||||||
|
FILETYPE VFT_DLL
|
||||||
|
FILESUBTYPE 0 // not used
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904E4"
|
||||||
|
//language ID = U.S. English, char set = Windows, Multilingual
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
VALUE "FileDescription", "zlib data compression library\0"
|
||||||
|
VALUE "FileVersion", "1.2.3.0\0"
|
||||||
|
VALUE "InternalName", "zlib\0"
|
||||||
|
VALUE "OriginalFilename", "zlib.dll\0"
|
||||||
|
VALUE "ProductName", "ZLib.DLL\0"
|
||||||
|
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
||||||
|
VALUE "LegalCopyright", "(C) 1995-2003 Jean-loup Gailly & Mark Adler\0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x0409, 1252
|
||||||
|
END
|
||||||
|
END
|
||||||
870
contrib/vstudio/vc8/zlibstat.vcproj
Normal file
870
contrib/vstudio/vc8/zlibstat.vcproj
Normal file
@@ -0,0 +1,870 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="8,00"
|
||||||
|
Name="zlibstat"
|
||||||
|
ProjectGUID="{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="Itanium"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
OutputDirectory="x86\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
OutputDirectory="x64\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:AMD64 /NODEFAULTLIB"
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Itanium"
|
||||||
|
OutputDirectory="ia64\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:IA64 /NODEFAULTLIB"
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
OutputDirectory="x86\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ASMV;ASMINF"
|
||||||
|
StringPooling="true"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"
|
||||||
|
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj "
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
OutputDirectory="x64\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ASMV;ASMINF;WIN64"
|
||||||
|
StringPooling="true"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:AMD64 /NODEFAULTLIB"
|
||||||
|
AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Itanium"
|
||||||
|
OutputDirectory="ia64\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"
|
||||||
|
StringPooling="true"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:IA64 /NODEFAULTLIB"
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
|
OutputDirectory="x86\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"
|
||||||
|
StringPooling="true"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="ReleaseWithoutAsm|x64"
|
||||||
|
OutputDirectory="x64\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"
|
||||||
|
StringPooling="true"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:AMD64 /NODEFAULTLIB"
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="ReleaseWithoutAsm|Itanium"
|
||||||
|
OutputDirectory="ia64\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"
|
||||||
|
StringPooling="true"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:IA64 /NODEFAULTLIB"
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\adler32.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\compress.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\crc32.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\deflate.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\masmx86\gvmat32c.c"
|
||||||
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|x64"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|x64"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\gzio.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\infback.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\masmx64\inffas8664.c"
|
||||||
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|Itanium"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\inffast.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\inflate.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\inftrees.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\minizip\ioapi.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\trees.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\uncompr.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\minizip\unzip.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\minizip\zip.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\zlib.rc"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\zlibvc.def"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\zutil.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
||||||
92
contrib/vstudio/vc8/zlibvc.def
Normal file
92
contrib/vstudio/vc8/zlibvc.def
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
|
||||||
|
VERSION 1.23
|
||||||
|
|
||||||
|
HEAPSIZE 1048576,8192
|
||||||
|
|
||||||
|
EXPORTS
|
||||||
|
adler32 @1
|
||||||
|
compress @2
|
||||||
|
crc32 @3
|
||||||
|
deflate @4
|
||||||
|
deflateCopy @5
|
||||||
|
deflateEnd @6
|
||||||
|
deflateInit2_ @7
|
||||||
|
deflateInit_ @8
|
||||||
|
deflateParams @9
|
||||||
|
deflateReset @10
|
||||||
|
deflateSetDictionary @11
|
||||||
|
gzclose @12
|
||||||
|
gzdopen @13
|
||||||
|
gzerror @14
|
||||||
|
gzflush @15
|
||||||
|
gzopen @16
|
||||||
|
gzread @17
|
||||||
|
gzwrite @18
|
||||||
|
inflate @19
|
||||||
|
inflateEnd @20
|
||||||
|
inflateInit2_ @21
|
||||||
|
inflateInit_ @22
|
||||||
|
inflateReset @23
|
||||||
|
inflateSetDictionary @24
|
||||||
|
inflateSync @25
|
||||||
|
uncompress @26
|
||||||
|
zlibVersion @27
|
||||||
|
gzprintf @28
|
||||||
|
gzputc @29
|
||||||
|
gzgetc @30
|
||||||
|
gzseek @31
|
||||||
|
gzrewind @32
|
||||||
|
gztell @33
|
||||||
|
gzeof @34
|
||||||
|
gzsetparams @35
|
||||||
|
zError @36
|
||||||
|
inflateSyncPoint @37
|
||||||
|
get_crc_table @38
|
||||||
|
compress2 @39
|
||||||
|
gzputs @40
|
||||||
|
gzgets @41
|
||||||
|
inflateCopy @42
|
||||||
|
inflateBackInit_ @43
|
||||||
|
inflateBack @44
|
||||||
|
inflateBackEnd @45
|
||||||
|
compressBound @46
|
||||||
|
deflateBound @47
|
||||||
|
gzclearerr @48
|
||||||
|
gzungetc @49
|
||||||
|
zlibCompileFlags @50
|
||||||
|
deflatePrime @51
|
||||||
|
|
||||||
|
unzOpen @61
|
||||||
|
unzClose @62
|
||||||
|
unzGetGlobalInfo @63
|
||||||
|
unzGetCurrentFileInfo @64
|
||||||
|
unzGoToFirstFile @65
|
||||||
|
unzGoToNextFile @66
|
||||||
|
unzOpenCurrentFile @67
|
||||||
|
unzReadCurrentFile @68
|
||||||
|
unzOpenCurrentFile3 @69
|
||||||
|
unztell @70
|
||||||
|
unzeof @71
|
||||||
|
unzCloseCurrentFile @72
|
||||||
|
unzGetGlobalComment @73
|
||||||
|
unzStringFileNameCompare @74
|
||||||
|
unzLocateFile @75
|
||||||
|
unzGetLocalExtrafield @76
|
||||||
|
unzOpen2 @77
|
||||||
|
unzOpenCurrentFile2 @78
|
||||||
|
unzOpenCurrentFilePassword @79
|
||||||
|
|
||||||
|
zipOpen @80
|
||||||
|
zipOpenNewFileInZip @81
|
||||||
|
zipWriteInFileInZip @82
|
||||||
|
zipCloseFileInZip @83
|
||||||
|
zipClose @84
|
||||||
|
zipOpenNewFileInZip2 @86
|
||||||
|
zipCloseFileInZipRaw @87
|
||||||
|
zipOpen2 @88
|
||||||
|
zipOpenNewFileInZip3 @89
|
||||||
|
|
||||||
|
unzGetFilePos @100
|
||||||
|
unzGoToFilePos @101
|
||||||
|
|
||||||
|
fill_win32_filefunc @110
|
||||||
144
contrib/vstudio/vc8/zlibvc.sln
Normal file
144
contrib/vstudio/vc8/zlibvc.sln
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||||
|
# Visual Studio 2005
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestZlibDll", "testzlibdll.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Itanium = Debug|Itanium
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Release|Itanium = Release|Itanium
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium
|
||||||
|
ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32
|
||||||
|
ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.Build.0 = Debug|Itanium
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Itanium
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = ReleaseWithoutAsm|x64
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = ReleaseWithoutAsm|x64
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.Build.0 = Debug|Itanium
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Itanium
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.Build.0 = Release|Itanium
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.Build.0 = Debug|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.Build.0 = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Itanium
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Itanium
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.Build.0 = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Itanium
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Itanium
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
1219
contrib/vstudio/vc8/zlibvc.vcproj
Normal file
1219
contrib/vstudio/vc8/zlibvc.vcproj
Normal file
File diff suppressed because it is too large
Load Diff
9
crc32.c
9
crc32.c
@@ -64,6 +64,11 @@
|
|||||||
# define TBLS 1
|
# define TBLS 1
|
||||||
#endif /* BYFOUR */
|
#endif /* BYFOUR */
|
||||||
|
|
||||||
|
/* Local functions for crc concatenation */
|
||||||
|
local unsigned long gf2_matrix_times OF((unsigned long *mat,
|
||||||
|
unsigned long vec));
|
||||||
|
local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat));
|
||||||
|
|
||||||
#ifdef DYNAMIC_CRC_TABLE
|
#ifdef DYNAMIC_CRC_TABLE
|
||||||
|
|
||||||
local volatile int crc_table_empty = 1;
|
local volatile int crc_table_empty = 1;
|
||||||
@@ -72,10 +77,6 @@ local void make_crc_table OF((void));
|
|||||||
#ifdef MAKECRCH
|
#ifdef MAKECRCH
|
||||||
local void write_table OF((FILE *, const unsigned long FAR *));
|
local void write_table OF((FILE *, const unsigned long FAR *));
|
||||||
#endif /* MAKECRCH */
|
#endif /* MAKECRCH */
|
||||||
local unsigned long gf2_matrix_times OF((unsigned long *mat,
|
|
||||||
unsigned long vec));
|
|
||||||
local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat));
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Generate tables for a byte-wise 32-bit CRC calculation on the polynomial:
|
Generate tables for a byte-wise 32-bit CRC calculation on the polynomial:
|
||||||
x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
|
x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
|
||||||
|
|||||||
142
deflate.c
142
deflate.c
@@ -1,5 +1,5 @@
|
|||||||
/* deflate.c -- compress data using the deflation algorithm
|
/* deflate.c -- compress data using the deflation algorithm
|
||||||
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
* Copyright (C) 1995-2006 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
#include "deflate.h"
|
#include "deflate.h"
|
||||||
|
|
||||||
const char deflate_copyright[] =
|
const char deflate_copyright[] =
|
||||||
" deflate 1.2.2.3 Copyright 1995-2005 Jean-loup Gailly ";
|
" deflate 1.2.3.2 Copyright 1995-2006 Jean-loup Gailly ";
|
||||||
/*
|
/*
|
||||||
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
|
||||||
@@ -481,33 +481,65 @@ int ZEXPORT deflateTune(strm, good_length, max_lazy, nice_length, max_chain)
|
|||||||
* resulting from using fixed blocks instead of stored blocks, which deflate
|
* resulting from using fixed blocks instead of stored blocks, which deflate
|
||||||
* can emit on compressed data for some combinations of the parameters.
|
* can emit on compressed data for some combinations of the parameters.
|
||||||
*
|
*
|
||||||
* This function could be more sophisticated to provide closer upper bounds
|
* This function could be more sophisticated to provide closer upper bounds for
|
||||||
* for every combination of windowBits and memLevel, as well as wrap.
|
* every combination of windowBits and memLevel. But even the conservative
|
||||||
* But even the conservative upper bound of about 14% expansion does not
|
* upper bound of about 14% expansion does not seem onerous for output buffer
|
||||||
* seem onerous for output buffer allocation.
|
* allocation.
|
||||||
*/
|
*/
|
||||||
uLong ZEXPORT deflateBound(strm, sourceLen)
|
uLong ZEXPORT deflateBound(strm, sourceLen)
|
||||||
z_streamp strm;
|
z_streamp strm;
|
||||||
uLong sourceLen;
|
uLong sourceLen;
|
||||||
{
|
{
|
||||||
deflate_state *s;
|
deflate_state *s;
|
||||||
uLong destLen;
|
uLong complen, wraplen;
|
||||||
|
Bytef *str;
|
||||||
|
|
||||||
/* conservative upper bound */
|
/* conservative upper bound for compressed data */
|
||||||
destLen = sourceLen +
|
complen = sourceLen +
|
||||||
((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 11;
|
((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5;
|
||||||
|
|
||||||
/* if can't get parameters, return conservative bound */
|
/* if can't get parameters, return conservative bound plus zlib wrapper */
|
||||||
if (strm == Z_NULL || strm->state == Z_NULL)
|
if (strm == Z_NULL || strm->state == Z_NULL)
|
||||||
return destLen;
|
return complen + 6;
|
||||||
|
|
||||||
|
/* compute wrapper length */
|
||||||
|
s = strm->state;
|
||||||
|
switch (s->wrap) {
|
||||||
|
case 0: /* raw deflate */
|
||||||
|
wraplen = 0;
|
||||||
|
break;
|
||||||
|
case 1: /* zlib wrapper */
|
||||||
|
wraplen = 6 + (s->strstart ? 4 : 0);
|
||||||
|
break;
|
||||||
|
case 2: /* gzip wrapper */
|
||||||
|
wraplen = 18;
|
||||||
|
if (s->gzhead != NULL) { /* user-supplied gzip header */
|
||||||
|
if (s->gzhead->extra != NULL)
|
||||||
|
wraplen += 2 + s->gzhead->extra_len;
|
||||||
|
str = s->gzhead->name;
|
||||||
|
if (str != NULL)
|
||||||
|
do {
|
||||||
|
wraplen++;
|
||||||
|
} while (*str++);
|
||||||
|
str = s->gzhead->comment;
|
||||||
|
if (str != NULL)
|
||||||
|
do {
|
||||||
|
wraplen++;
|
||||||
|
} while (*str++);
|
||||||
|
if (s->gzhead->hcrc)
|
||||||
|
wraplen += 2;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default: /* for compiler happiness */
|
||||||
|
wraplen = 6;
|
||||||
|
}
|
||||||
|
|
||||||
/* if not default parameters, return conservative bound */
|
/* if not default parameters, return conservative bound */
|
||||||
s = strm->state;
|
|
||||||
if (s->w_bits != 15 || s->hash_bits != 8 + 7)
|
if (s->w_bits != 15 || s->hash_bits != 8 + 7)
|
||||||
return destLen;
|
return complen + wraplen;
|
||||||
|
|
||||||
/* default settings: return tight bound for that case */
|
/* default settings: return tight bound for that case */
|
||||||
return compressBound(sourceLen);
|
return compressBound(sourceLen) - 6 + wraplen;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =========================================================================
|
/* =========================================================================
|
||||||
@@ -600,10 +632,10 @@ int ZEXPORT deflate (strm, flush)
|
|||||||
(s->gzhead->name == Z_NULL ? 0 : 8) +
|
(s->gzhead->name == Z_NULL ? 0 : 8) +
|
||||||
(s->gzhead->comment == Z_NULL ? 0 : 16)
|
(s->gzhead->comment == Z_NULL ? 0 : 16)
|
||||||
);
|
);
|
||||||
put_byte(s, s->gzhead->time & 0xff);
|
put_byte(s, (Byte)(s->gzhead->time & 0xff));
|
||||||
put_byte(s, (s->gzhead->time >> 8) & 0xff);
|
put_byte(s, (Byte)((s->gzhead->time >> 8) & 0xff));
|
||||||
put_byte(s, (s->gzhead->time >> 16) & 0xff);
|
put_byte(s, (Byte)((s->gzhead->time >> 16) & 0xff));
|
||||||
put_byte(s, (s->gzhead->time >> 24) & 0xff);
|
put_byte(s, (Byte)((s->gzhead->time >> 24) & 0xff));
|
||||||
put_byte(s, s->level == 9 ? 2 :
|
put_byte(s, s->level == 9 ? 2 :
|
||||||
(s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
|
(s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
|
||||||
4 : 0));
|
4 : 0));
|
||||||
@@ -651,7 +683,7 @@ int ZEXPORT deflate (strm, flush)
|
|||||||
#ifdef GZIP
|
#ifdef GZIP
|
||||||
if (s->status == EXTRA_STATE) {
|
if (s->status == EXTRA_STATE) {
|
||||||
if (s->gzhead->extra != NULL) {
|
if (s->gzhead->extra != NULL) {
|
||||||
int beg = s->pending; /* start of bytes to update crc */
|
uInt beg = s->pending; /* start of bytes to update crc */
|
||||||
|
|
||||||
while (s->gzindex < (s->gzhead->extra_len & 0xffff)) {
|
while (s->gzindex < (s->gzhead->extra_len & 0xffff)) {
|
||||||
if (s->pending == s->pending_buf_size) {
|
if (s->pending == s->pending_buf_size) {
|
||||||
@@ -679,7 +711,7 @@ int ZEXPORT deflate (strm, flush)
|
|||||||
}
|
}
|
||||||
if (s->status == NAME_STATE) {
|
if (s->status == NAME_STATE) {
|
||||||
if (s->gzhead->name != NULL) {
|
if (s->gzhead->name != NULL) {
|
||||||
int beg = s->pending; /* start of bytes to update crc */
|
uInt beg = s->pending; /* start of bytes to update crc */
|
||||||
int val;
|
int val;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
@@ -710,7 +742,7 @@ int ZEXPORT deflate (strm, flush)
|
|||||||
}
|
}
|
||||||
if (s->status == COMMENT_STATE) {
|
if (s->status == COMMENT_STATE) {
|
||||||
if (s->gzhead->comment != NULL) {
|
if (s->gzhead->comment != NULL) {
|
||||||
int beg = s->pending; /* start of bytes to update crc */
|
uInt beg = s->pending; /* start of bytes to update crc */
|
||||||
int val;
|
int val;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
@@ -742,8 +774,8 @@ int ZEXPORT deflate (strm, flush)
|
|||||||
if (s->pending + 2 > s->pending_buf_size)
|
if (s->pending + 2 > s->pending_buf_size)
|
||||||
flush_pending(strm);
|
flush_pending(strm);
|
||||||
if (s->pending + 2 <= s->pending_buf_size) {
|
if (s->pending + 2 <= s->pending_buf_size) {
|
||||||
put_byte(s, strm->adler & 0xff);
|
put_byte(s, (Byte)(strm->adler & 0xff));
|
||||||
put_byte(s, (strm->adler >> 8) & 0xff);
|
put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
|
||||||
strm->adler = crc32(0L, Z_NULL, 0);
|
strm->adler = crc32(0L, Z_NULL, 0);
|
||||||
s->status = BUSY_STATE;
|
s->status = BUSY_STATE;
|
||||||
}
|
}
|
||||||
@@ -1303,6 +1335,7 @@ local void fill_window(s)
|
|||||||
later. (Using level 0 permanently is not an optimal usage of
|
later. (Using level 0 permanently is not an optimal usage of
|
||||||
zlib, so we don't care about this pathological case.)
|
zlib, so we don't care about this pathological case.)
|
||||||
*/
|
*/
|
||||||
|
/* %%% avoid this when Z_RLE */
|
||||||
n = s->hash_size;
|
n = s->hash_size;
|
||||||
p = &s->head[n];
|
p = &s->head[n];
|
||||||
do {
|
do {
|
||||||
@@ -1672,3 +1705,64 @@ local block_state deflate_slow(s, flush)
|
|||||||
return flush == Z_FINISH ? finish_done : block_done;
|
return flush == Z_FINISH ? finish_done : block_done;
|
||||||
}
|
}
|
||||||
#endif /* FASTEST */
|
#endif /* FASTEST */
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* ===========================================================================
|
||||||
|
* For Z_RLE, simply look for runs of bytes, generate matches only of distance
|
||||||
|
* one. Do not maintain a hash table. (It will be regenerated if this run of
|
||||||
|
* deflate switches away from Z_RLE.)
|
||||||
|
*/
|
||||||
|
local block_state deflate_rle(s, flush)
|
||||||
|
deflate_state *s;
|
||||||
|
int flush;
|
||||||
|
{
|
||||||
|
int bflush; /* set if current block must be flushed */
|
||||||
|
uInt run; /* length of run */
|
||||||
|
uInt max; /* maximum length of run */
|
||||||
|
uInt prev; /* byte at distance one to match */
|
||||||
|
Bytef *scan; /* scan for end of run */
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
/* Make sure that we always have enough lookahead, except
|
||||||
|
* at the end of the input file. We need MAX_MATCH bytes
|
||||||
|
* for the longest encodable run.
|
||||||
|
*/
|
||||||
|
if (s->lookahead < MAX_MATCH) {
|
||||||
|
fill_window(s);
|
||||||
|
if (s->lookahead < MAX_MATCH && flush == Z_NO_FLUSH) {
|
||||||
|
return need_more;
|
||||||
|
}
|
||||||
|
if (s->lookahead == 0) break; /* flush the current block */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* See how many times the previous byte repeats */
|
||||||
|
run = 0;
|
||||||
|
if (s->strstart > 0) { /* if there is a previous byte, that is */
|
||||||
|
max = s->lookahead < MAX_MATCH ? s->lookahead : MAX_MATCH;
|
||||||
|
scan = s->window + s->strstart - 1;
|
||||||
|
prev = *scan++;
|
||||||
|
do {
|
||||||
|
if (*scan++ != prev)
|
||||||
|
break;
|
||||||
|
} while (++run < max);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Emit match if have run of MIN_MATCH or longer, else emit literal */
|
||||||
|
if (run >= MIN_MATCH) {
|
||||||
|
check_match(s, s->strstart, s->strstart - 1, run);
|
||||||
|
_tr_tally_dist(s, 1, run - MIN_MATCH, bflush);
|
||||||
|
s->lookahead -= run;
|
||||||
|
s->strstart += run;
|
||||||
|
} else {
|
||||||
|
/* No match, output a literal byte */
|
||||||
|
Tracevv((stderr,"%c", s->window[s->strstart]));
|
||||||
|
_tr_tally_lit (s, s->window[s->strstart], bflush);
|
||||||
|
s->lookahead--;
|
||||||
|
s->strstart++;
|
||||||
|
}
|
||||||
|
if (bflush) FLUSH_BLOCK(s, 0);
|
||||||
|
}
|
||||||
|
FLUSH_BLOCK(s, flush == Z_FINISH);
|
||||||
|
return flush == Z_FINISH ? finish_done : block_done;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* deflate.h -- internal compression state
|
/* deflate.h -- internal compression state
|
||||||
* Copyright (C) 1995-2004 Jean-loup Gailly
|
* Copyright (C) 1995-2005 Jean-loup Gailly
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -97,10 +97,10 @@ typedef struct internal_state {
|
|||||||
Bytef *pending_buf; /* output still pending */
|
Bytef *pending_buf; /* output still pending */
|
||||||
ulg pending_buf_size; /* size of pending_buf */
|
ulg pending_buf_size; /* size of pending_buf */
|
||||||
Bytef *pending_out; /* next pending byte to output to the stream */
|
Bytef *pending_out; /* next pending byte to output to the stream */
|
||||||
int pending; /* nb of bytes in the pending buffer */
|
uInt pending; /* nb of bytes in the pending buffer */
|
||||||
int wrap; /* bit 0 true for zlib, bit 1 true for gzip */
|
int wrap; /* bit 0 true for zlib, bit 1 true for gzip */
|
||||||
gz_headerp gzhead; /* gzip header information to write */
|
gz_headerp gzhead; /* gzip header information to write */
|
||||||
int gzindex; /* where in extra, name, or comment */
|
uInt gzindex; /* where in extra, name, or comment */
|
||||||
Byte method; /* STORED (for zip only) or DEFLATED */
|
Byte method; /* STORED (for zip only) or DEFLATED */
|
||||||
int last_flush; /* value of flush param for previous deflate call */
|
int last_flush; /* value of flush param for previous deflate call */
|
||||||
|
|
||||||
|
|||||||
619
doc/rfc1950.txt
Normal file
619
doc/rfc1950.txt
Normal file
@@ -0,0 +1,619 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Network Working Group P. Deutsch
|
||||||
|
Request for Comments: 1950 Aladdin Enterprises
|
||||||
|
Category: Informational J-L. Gailly
|
||||||
|
Info-ZIP
|
||||||
|
May 1996
|
||||||
|
|
||||||
|
|
||||||
|
ZLIB Compressed Data Format Specification version 3.3
|
||||||
|
|
||||||
|
Status of This Memo
|
||||||
|
|
||||||
|
This memo provides information for the Internet community. This memo
|
||||||
|
does not specify an Internet standard of any kind. Distribution of
|
||||||
|
this memo is unlimited.
|
||||||
|
|
||||||
|
IESG Note:
|
||||||
|
|
||||||
|
The IESG takes no position on the validity of any Intellectual
|
||||||
|
Property Rights statements contained in this document.
|
||||||
|
|
||||||
|
Notices
|
||||||
|
|
||||||
|
Copyright (c) 1996 L. Peter Deutsch and Jean-Loup Gailly
|
||||||
|
|
||||||
|
Permission is granted to copy and distribute this document for any
|
||||||
|
purpose and without charge, including translations into other
|
||||||
|
languages and incorporation into compilations, provided that the
|
||||||
|
copyright notice and this notice are preserved, and that any
|
||||||
|
substantive changes or deletions from the original are clearly
|
||||||
|
marked.
|
||||||
|
|
||||||
|
A pointer to the latest version of this and related documentation in
|
||||||
|
HTML format can be found at the URL
|
||||||
|
<ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html>.
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
|
||||||
|
This specification defines a lossless compressed data format. The
|
||||||
|
data can be produced or consumed, even for an arbitrarily long
|
||||||
|
sequentially presented input data stream, using only an a priori
|
||||||
|
bounded amount of intermediate storage. The format presently uses
|
||||||
|
the DEFLATE compression method but can be easily extended to use
|
||||||
|
other compression methods. It can be implemented readily in a manner
|
||||||
|
not covered by patents. This specification also defines the ADLER-32
|
||||||
|
checksum (an extension and improvement of the Fletcher checksum),
|
||||||
|
used for detection of data corruption, and provides an algorithm for
|
||||||
|
computing it.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 1]
|
||||||
|
|
||||||
|
RFC 1950 ZLIB Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
Table of Contents
|
||||||
|
|
||||||
|
1. Introduction ................................................... 2
|
||||||
|
1.1. Purpose ................................................... 2
|
||||||
|
1.2. Intended audience ......................................... 3
|
||||||
|
1.3. Scope ..................................................... 3
|
||||||
|
1.4. Compliance ................................................ 3
|
||||||
|
1.5. Definitions of terms and conventions used ................ 3
|
||||||
|
1.6. Changes from previous versions ............................ 3
|
||||||
|
2. Detailed specification ......................................... 3
|
||||||
|
2.1. Overall conventions ....................................... 3
|
||||||
|
2.2. Data format ............................................... 4
|
||||||
|
2.3. Compliance ................................................ 7
|
||||||
|
3. References ..................................................... 7
|
||||||
|
4. Source code .................................................... 8
|
||||||
|
5. Security Considerations ........................................ 8
|
||||||
|
6. Acknowledgements ............................................... 8
|
||||||
|
7. Authors' Addresses ............................................. 8
|
||||||
|
8. Appendix: Rationale ............................................ 9
|
||||||
|
9. Appendix: Sample code ..........................................10
|
||||||
|
|
||||||
|
1. Introduction
|
||||||
|
|
||||||
|
1.1. Purpose
|
||||||
|
|
||||||
|
The purpose of this specification is to define a lossless
|
||||||
|
compressed data format that:
|
||||||
|
|
||||||
|
* Is independent of CPU type, operating system, file system,
|
||||||
|
and character set, and hence can be used for interchange;
|
||||||
|
|
||||||
|
* Can be produced or consumed, even for an arbitrarily long
|
||||||
|
sequentially presented input data stream, using only an a
|
||||||
|
priori bounded amount of intermediate storage, and hence can
|
||||||
|
be used in data communications or similar structures such as
|
||||||
|
Unix filters;
|
||||||
|
|
||||||
|
* Can use a number of different compression methods;
|
||||||
|
|
||||||
|
* Can be implemented readily in a manner not covered by
|
||||||
|
patents, and hence can be practiced freely.
|
||||||
|
|
||||||
|
The data format defined by this specification does not attempt to
|
||||||
|
allow random access to compressed data.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 2]
|
||||||
|
|
||||||
|
RFC 1950 ZLIB Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
1.2. Intended audience
|
||||||
|
|
||||||
|
This specification is intended for use by implementors of software
|
||||||
|
to compress data into zlib format and/or decompress data from zlib
|
||||||
|
format.
|
||||||
|
|
||||||
|
The text of the specification assumes a basic background in
|
||||||
|
programming at the level of bits and other primitive data
|
||||||
|
representations.
|
||||||
|
|
||||||
|
1.3. Scope
|
||||||
|
|
||||||
|
The specification specifies a compressed data format that can be
|
||||||
|
used for in-memory compression of a sequence of arbitrary bytes.
|
||||||
|
|
||||||
|
1.4. Compliance
|
||||||
|
|
||||||
|
Unless otherwise indicated below, a compliant decompressor must be
|
||||||
|
able to accept and decompress any data set that conforms to all
|
||||||
|
the specifications presented here; a compliant compressor must
|
||||||
|
produce data sets that conform to all the specifications presented
|
||||||
|
here.
|
||||||
|
|
||||||
|
1.5. Definitions of terms and conventions used
|
||||||
|
|
||||||
|
byte: 8 bits stored or transmitted as a unit (same as an octet).
|
||||||
|
(For this specification, a byte is exactly 8 bits, even on
|
||||||
|
machines which store a character on a number of bits different
|
||||||
|
from 8.) See below, for the numbering of bits within a byte.
|
||||||
|
|
||||||
|
1.6. Changes from previous versions
|
||||||
|
|
||||||
|
Version 3.1 was the first public release of this specification.
|
||||||
|
In version 3.2, some terminology was changed and the Adler-32
|
||||||
|
sample code was rewritten for clarity. In version 3.3, the
|
||||||
|
support for a preset dictionary was introduced, and the
|
||||||
|
specification was converted to RFC style.
|
||||||
|
|
||||||
|
2. Detailed specification
|
||||||
|
|
||||||
|
2.1. Overall conventions
|
||||||
|
|
||||||
|
In the diagrams below, a box like this:
|
||||||
|
|
||||||
|
+---+
|
||||||
|
| | <-- the vertical bars might be missing
|
||||||
|
+---+
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 3]
|
||||||
|
|
||||||
|
RFC 1950 ZLIB Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
represents one byte; a box like this:
|
||||||
|
|
||||||
|
+==============+
|
||||||
|
| |
|
||||||
|
+==============+
|
||||||
|
|
||||||
|
represents a variable number of bytes.
|
||||||
|
|
||||||
|
Bytes stored within a computer do not have a "bit order", since
|
||||||
|
they are always treated as a unit. However, a byte considered as
|
||||||
|
an integer between 0 and 255 does have a most- and least-
|
||||||
|
significant bit, and since we write numbers with the most-
|
||||||
|
significant digit on the left, we also write bytes with the most-
|
||||||
|
significant bit on the left. In the diagrams below, we number the
|
||||||
|
bits of a byte so that bit 0 is the least-significant bit, i.e.,
|
||||||
|
the bits are numbered:
|
||||||
|
|
||||||
|
+--------+
|
||||||
|
|76543210|
|
||||||
|
+--------+
|
||||||
|
|
||||||
|
Within a computer, a number may occupy multiple bytes. All
|
||||||
|
multi-byte numbers in the format described here are stored with
|
||||||
|
the MOST-significant byte first (at the lower memory address).
|
||||||
|
For example, the decimal number 520 is stored as:
|
||||||
|
|
||||||
|
0 1
|
||||||
|
+--------+--------+
|
||||||
|
|00000010|00001000|
|
||||||
|
+--------+--------+
|
||||||
|
^ ^
|
||||||
|
| |
|
||||||
|
| + less significant byte = 8
|
||||||
|
+ more significant byte = 2 x 256
|
||||||
|
|
||||||
|
2.2. Data format
|
||||||
|
|
||||||
|
A zlib stream has the following structure:
|
||||||
|
|
||||||
|
0 1
|
||||||
|
+---+---+
|
||||||
|
|CMF|FLG| (more-->)
|
||||||
|
+---+---+
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 4]
|
||||||
|
|
||||||
|
RFC 1950 ZLIB Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
(if FLG.FDICT set)
|
||||||
|
|
||||||
|
0 1 2 3
|
||||||
|
+---+---+---+---+
|
||||||
|
| DICTID | (more-->)
|
||||||
|
+---+---+---+---+
|
||||||
|
|
||||||
|
+=====================+---+---+---+---+
|
||||||
|
|...compressed data...| ADLER32 |
|
||||||
|
+=====================+---+---+---+---+
|
||||||
|
|
||||||
|
Any data which may appear after ADLER32 are not part of the zlib
|
||||||
|
stream.
|
||||||
|
|
||||||
|
CMF (Compression Method and flags)
|
||||||
|
This byte is divided into a 4-bit compression method and a 4-
|
||||||
|
bit information field depending on the compression method.
|
||||||
|
|
||||||
|
bits 0 to 3 CM Compression method
|
||||||
|
bits 4 to 7 CINFO Compression info
|
||||||
|
|
||||||
|
CM (Compression method)
|
||||||
|
This identifies the compression method used in the file. CM = 8
|
||||||
|
denotes the "deflate" compression method with a window size up
|
||||||
|
to 32K. This is the method used by gzip and PNG (see
|
||||||
|
references [1] and [2] in Chapter 3, below, for the reference
|
||||||
|
documents). CM = 15 is reserved. It might be used in a future
|
||||||
|
version of this specification to indicate the presence of an
|
||||||
|
extra field before the compressed data.
|
||||||
|
|
||||||
|
CINFO (Compression info)
|
||||||
|
For CM = 8, CINFO is the base-2 logarithm of the LZ77 window
|
||||||
|
size, minus eight (CINFO=7 indicates a 32K window size). Values
|
||||||
|
of CINFO above 7 are not allowed in this version of the
|
||||||
|
specification. CINFO is not defined in this specification for
|
||||||
|
CM not equal to 8.
|
||||||
|
|
||||||
|
FLG (FLaGs)
|
||||||
|
This flag byte is divided as follows:
|
||||||
|
|
||||||
|
bits 0 to 4 FCHECK (check bits for CMF and FLG)
|
||||||
|
bit 5 FDICT (preset dictionary)
|
||||||
|
bits 6 to 7 FLEVEL (compression level)
|
||||||
|
|
||||||
|
The FCHECK value must be such that CMF and FLG, when viewed as
|
||||||
|
a 16-bit unsigned integer stored in MSB order (CMF*256 + FLG),
|
||||||
|
is a multiple of 31.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 5]
|
||||||
|
|
||||||
|
RFC 1950 ZLIB Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
FDICT (Preset dictionary)
|
||||||
|
If FDICT is set, a DICT dictionary identifier is present
|
||||||
|
immediately after the FLG byte. The dictionary is a sequence of
|
||||||
|
bytes which are initially fed to the compressor without
|
||||||
|
producing any compressed output. DICT is the Adler-32 checksum
|
||||||
|
of this sequence of bytes (see the definition of ADLER32
|
||||||
|
below). The decompressor can use this identifier to determine
|
||||||
|
which dictionary has been used by the compressor.
|
||||||
|
|
||||||
|
FLEVEL (Compression level)
|
||||||
|
These flags are available for use by specific compression
|
||||||
|
methods. The "deflate" method (CM = 8) sets these flags as
|
||||||
|
follows:
|
||||||
|
|
||||||
|
0 - compressor used fastest algorithm
|
||||||
|
1 - compressor used fast algorithm
|
||||||
|
2 - compressor used default algorithm
|
||||||
|
3 - compressor used maximum compression, slowest algorithm
|
||||||
|
|
||||||
|
The information in FLEVEL is not needed for decompression; it
|
||||||
|
is there to indicate if recompression might be worthwhile.
|
||||||
|
|
||||||
|
compressed data
|
||||||
|
For compression method 8, the compressed data is stored in the
|
||||||
|
deflate compressed data format as described in the document
|
||||||
|
"DEFLATE Compressed Data Format Specification" by L. Peter
|
||||||
|
Deutsch. (See reference [3] in Chapter 3, below)
|
||||||
|
|
||||||
|
Other compressed data formats are not specified in this version
|
||||||
|
of the zlib specification.
|
||||||
|
|
||||||
|
ADLER32 (Adler-32 checksum)
|
||||||
|
This contains a checksum value of the uncompressed data
|
||||||
|
(excluding any dictionary data) computed according to Adler-32
|
||||||
|
algorithm. This algorithm is a 32-bit extension and improvement
|
||||||
|
of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073
|
||||||
|
standard. See references [4] and [5] in Chapter 3, below)
|
||||||
|
|
||||||
|
Adler-32 is composed of two sums accumulated per byte: s1 is
|
||||||
|
the sum of all bytes, s2 is the sum of all s1 values. Both sums
|
||||||
|
are done modulo 65521. s1 is initialized to 1, s2 to zero. The
|
||||||
|
Adler-32 checksum is stored as s2*65536 + s1 in most-
|
||||||
|
significant-byte first (network) order.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 6]
|
||||||
|
|
||||||
|
RFC 1950 ZLIB Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
2.3. Compliance
|
||||||
|
|
||||||
|
A compliant compressor must produce streams with correct CMF, FLG
|
||||||
|
and ADLER32, but need not support preset dictionaries. When the
|
||||||
|
zlib data format is used as part of another standard data format,
|
||||||
|
the compressor may use only preset dictionaries that are specified
|
||||||
|
by this other data format. If this other format does not use the
|
||||||
|
preset dictionary feature, the compressor must not set the FDICT
|
||||||
|
flag.
|
||||||
|
|
||||||
|
A compliant decompressor must check CMF, FLG, and ADLER32, and
|
||||||
|
provide an error indication if any of these have incorrect values.
|
||||||
|
A compliant decompressor must give an error indication if CM is
|
||||||
|
not one of the values defined in this specification (only the
|
||||||
|
value 8 is permitted in this version), since another value could
|
||||||
|
indicate the presence of new features that would cause subsequent
|
||||||
|
data to be interpreted incorrectly. A compliant decompressor must
|
||||||
|
give an error indication if FDICT is set and DICTID is not the
|
||||||
|
identifier of a known preset dictionary. A decompressor may
|
||||||
|
ignore FLEVEL and still be compliant. When the zlib data format
|
||||||
|
is being used as a part of another standard format, a compliant
|
||||||
|
decompressor must support all the preset dictionaries specified by
|
||||||
|
the other format. When the other format does not use the preset
|
||||||
|
dictionary feature, a compliant decompressor must reject any
|
||||||
|
stream in which the FDICT flag is set.
|
||||||
|
|
||||||
|
3. References
|
||||||
|
|
||||||
|
[1] Deutsch, L.P.,"GZIP Compressed Data Format Specification",
|
||||||
|
available in ftp://ftp.uu.net/pub/archiving/zip/doc/
|
||||||
|
|
||||||
|
[2] Thomas Boutell, "PNG (Portable Network Graphics) specification",
|
||||||
|
available in ftp://ftp.uu.net/graphics/png/documents/
|
||||||
|
|
||||||
|
[3] Deutsch, L.P.,"DEFLATE Compressed Data Format Specification",
|
||||||
|
available in ftp://ftp.uu.net/pub/archiving/zip/doc/
|
||||||
|
|
||||||
|
[4] Fletcher, J. G., "An Arithmetic Checksum for Serial
|
||||||
|
Transmissions," IEEE Transactions on Communications, Vol. COM-30,
|
||||||
|
No. 1, January 1982, pp. 247-252.
|
||||||
|
|
||||||
|
[5] ITU-T Recommendation X.224, Annex D, "Checksum Algorithms,"
|
||||||
|
November, 1993, pp. 144, 145. (Available from
|
||||||
|
gopher://info.itu.ch). ITU-T X.244 is also the same as ISO 8073.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 7]
|
||||||
|
|
||||||
|
RFC 1950 ZLIB Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
4. Source code
|
||||||
|
|
||||||
|
Source code for a C language implementation of a "zlib" compliant
|
||||||
|
library is available at ftp://ftp.uu.net/pub/archiving/zip/zlib/.
|
||||||
|
|
||||||
|
5. Security Considerations
|
||||||
|
|
||||||
|
A decoder that fails to check the ADLER32 checksum value may be
|
||||||
|
subject to undetected data corruption.
|
||||||
|
|
||||||
|
6. Acknowledgements
|
||||||
|
|
||||||
|
Trademarks cited in this document are the property of their
|
||||||
|
respective owners.
|
||||||
|
|
||||||
|
Jean-Loup Gailly and Mark Adler designed the zlib format and wrote
|
||||||
|
the related software described in this specification. Glenn
|
||||||
|
Randers-Pehrson converted this document to RFC and HTML format.
|
||||||
|
|
||||||
|
7. Authors' Addresses
|
||||||
|
|
||||||
|
L. Peter Deutsch
|
||||||
|
Aladdin Enterprises
|
||||||
|
203 Santa Margarita Ave.
|
||||||
|
Menlo Park, CA 94025
|
||||||
|
|
||||||
|
Phone: (415) 322-0103 (AM only)
|
||||||
|
FAX: (415) 322-1734
|
||||||
|
EMail: <ghost@aladdin.com>
|
||||||
|
|
||||||
|
|
||||||
|
Jean-Loup Gailly
|
||||||
|
|
||||||
|
EMail: <gzip@prep.ai.mit.edu>
|
||||||
|
|
||||||
|
Questions about the technical content of this specification can be
|
||||||
|
sent by email to
|
||||||
|
|
||||||
|
Jean-Loup Gailly <gzip@prep.ai.mit.edu> and
|
||||||
|
Mark Adler <madler@alumni.caltech.edu>
|
||||||
|
|
||||||
|
Editorial comments on this specification can be sent by email to
|
||||||
|
|
||||||
|
L. Peter Deutsch <ghost@aladdin.com> and
|
||||||
|
Glenn Randers-Pehrson <randeg@alumni.rpi.edu>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 8]
|
||||||
|
|
||||||
|
RFC 1950 ZLIB Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
8. Appendix: Rationale
|
||||||
|
|
||||||
|
8.1. Preset dictionaries
|
||||||
|
|
||||||
|
A preset dictionary is specially useful to compress short input
|
||||||
|
sequences. The compressor can take advantage of the dictionary
|
||||||
|
context to encode the input in a more compact manner. The
|
||||||
|
decompressor can be initialized with the appropriate context by
|
||||||
|
virtually decompressing a compressed version of the dictionary
|
||||||
|
without producing any output. However for certain compression
|
||||||
|
algorithms such as the deflate algorithm this operation can be
|
||||||
|
achieved without actually performing any decompression.
|
||||||
|
|
||||||
|
The compressor and the decompressor must use exactly the same
|
||||||
|
dictionary. The dictionary may be fixed or may be chosen among a
|
||||||
|
certain number of predefined dictionaries, according to the kind
|
||||||
|
of input data. The decompressor can determine which dictionary has
|
||||||
|
been chosen by the compressor by checking the dictionary
|
||||||
|
identifier. This document does not specify the contents of
|
||||||
|
predefined dictionaries, since the optimal dictionaries are
|
||||||
|
application specific. Standard data formats using this feature of
|
||||||
|
the zlib specification must precisely define the allowed
|
||||||
|
dictionaries.
|
||||||
|
|
||||||
|
8.2. The Adler-32 algorithm
|
||||||
|
|
||||||
|
The Adler-32 algorithm is much faster than the CRC32 algorithm yet
|
||||||
|
still provides an extremely low probability of undetected errors.
|
||||||
|
|
||||||
|
The modulo on unsigned long accumulators can be delayed for 5552
|
||||||
|
bytes, so the modulo operation time is negligible. If the bytes
|
||||||
|
are a, b, c, the second sum is 3a + 2b + c + 3, and so is position
|
||||||
|
and order sensitive, unlike the first sum, which is just a
|
||||||
|
checksum. That 65521 is prime is important to avoid a possible
|
||||||
|
large class of two-byte errors that leave the check unchanged.
|
||||||
|
(The Fletcher checksum uses 255, which is not prime and which also
|
||||||
|
makes the Fletcher check insensitive to single byte changes 0 <->
|
||||||
|
255.)
|
||||||
|
|
||||||
|
The sum s1 is initialized to 1 instead of zero to make the length
|
||||||
|
of the sequence part of s2, so that the length does not have to be
|
||||||
|
checked separately. (Any sequence of zeroes has a Fletcher
|
||||||
|
checksum of zero.)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 9]
|
||||||
|
|
||||||
|
RFC 1950 ZLIB Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
9. Appendix: Sample code
|
||||||
|
|
||||||
|
The following C code computes the Adler-32 checksum of a data buffer.
|
||||||
|
It is written for clarity, not for speed. The sample code is in the
|
||||||
|
ANSI C programming language. Non C users may find it easier to read
|
||||||
|
with these hints:
|
||||||
|
|
||||||
|
& Bitwise AND operator.
|
||||||
|
>> Bitwise right shift operator. When applied to an
|
||||||
|
unsigned quantity, as here, right shift inserts zero bit(s)
|
||||||
|
at the left.
|
||||||
|
<< Bitwise left shift operator. Left shift inserts zero
|
||||||
|
bit(s) at the right.
|
||||||
|
++ "n++" increments the variable n.
|
||||||
|
% modulo operator: a % b is the remainder of a divided by b.
|
||||||
|
|
||||||
|
#define BASE 65521 /* largest prime smaller than 65536 */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Update a running Adler-32 checksum with the bytes buf[0..len-1]
|
||||||
|
and return the updated checksum. The Adler-32 checksum should be
|
||||||
|
initialized to 1.
|
||||||
|
|
||||||
|
Usage example:
|
||||||
|
|
||||||
|
unsigned long adler = 1L;
|
||||||
|
|
||||||
|
while (read_buffer(buffer, length) != EOF) {
|
||||||
|
adler = update_adler32(adler, buffer, length);
|
||||||
|
}
|
||||||
|
if (adler != original_adler) error();
|
||||||
|
*/
|
||||||
|
unsigned long update_adler32(unsigned long adler,
|
||||||
|
unsigned char *buf, int len)
|
||||||
|
{
|
||||||
|
unsigned long s1 = adler & 0xffff;
|
||||||
|
unsigned long s2 = (adler >> 16) & 0xffff;
|
||||||
|
int n;
|
||||||
|
|
||||||
|
for (n = 0; n < len; n++) {
|
||||||
|
s1 = (s1 + buf[n]) % BASE;
|
||||||
|
s2 = (s2 + s1) % BASE;
|
||||||
|
}
|
||||||
|
return (s2 << 16) + s1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return the adler32 of the bytes buf[0..len-1] */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 10]
|
||||||
|
|
||||||
|
RFC 1950 ZLIB Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
unsigned long adler32(unsigned char *buf, int len)
|
||||||
|
{
|
||||||
|
return update_adler32(1L, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch & Gailly Informational [Page 11]
|
||||||
|
|
||||||
955
doc/rfc1951.txt
Normal file
955
doc/rfc1951.txt
Normal file
@@ -0,0 +1,955 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Network Working Group P. Deutsch
|
||||||
|
Request for Comments: 1951 Aladdin Enterprises
|
||||||
|
Category: Informational May 1996
|
||||||
|
|
||||||
|
|
||||||
|
DEFLATE Compressed Data Format Specification version 1.3
|
||||||
|
|
||||||
|
Status of This Memo
|
||||||
|
|
||||||
|
This memo provides information for the Internet community. This memo
|
||||||
|
does not specify an Internet standard of any kind. Distribution of
|
||||||
|
this memo is unlimited.
|
||||||
|
|
||||||
|
IESG Note:
|
||||||
|
|
||||||
|
The IESG takes no position on the validity of any Intellectual
|
||||||
|
Property Rights statements contained in this document.
|
||||||
|
|
||||||
|
Notices
|
||||||
|
|
||||||
|
Copyright (c) 1996 L. Peter Deutsch
|
||||||
|
|
||||||
|
Permission is granted to copy and distribute this document for any
|
||||||
|
purpose and without charge, including translations into other
|
||||||
|
languages and incorporation into compilations, provided that the
|
||||||
|
copyright notice and this notice are preserved, and that any
|
||||||
|
substantive changes or deletions from the original are clearly
|
||||||
|
marked.
|
||||||
|
|
||||||
|
A pointer to the latest version of this and related documentation in
|
||||||
|
HTML format can be found at the URL
|
||||||
|
<ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html>.
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
|
||||||
|
This specification defines a lossless compressed data format that
|
||||||
|
compresses data using a combination of the LZ77 algorithm and Huffman
|
||||||
|
coding, with efficiency comparable to the best currently available
|
||||||
|
general-purpose compression methods. The data can be produced or
|
||||||
|
consumed, even for an arbitrarily long sequentially presented input
|
||||||
|
data stream, using only an a priori bounded amount of intermediate
|
||||||
|
storage. The format can be implemented readily in a manner not
|
||||||
|
covered by patents.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 1]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
Table of Contents
|
||||||
|
|
||||||
|
1. Introduction ................................................... 2
|
||||||
|
1.1. Purpose ................................................... 2
|
||||||
|
1.2. Intended audience ......................................... 3
|
||||||
|
1.3. Scope ..................................................... 3
|
||||||
|
1.4. Compliance ................................................ 3
|
||||||
|
1.5. Definitions of terms and conventions used ................ 3
|
||||||
|
1.6. Changes from previous versions ............................ 4
|
||||||
|
2. Compressed representation overview ............................. 4
|
||||||
|
3. Detailed specification ......................................... 5
|
||||||
|
3.1. Overall conventions ....................................... 5
|
||||||
|
3.1.1. Packing into bytes .................................. 5
|
||||||
|
3.2. Compressed block format ................................... 6
|
||||||
|
3.2.1. Synopsis of prefix and Huffman coding ............... 6
|
||||||
|
3.2.2. Use of Huffman coding in the "deflate" format ....... 7
|
||||||
|
3.2.3. Details of block format ............................. 9
|
||||||
|
3.2.4. Non-compressed blocks (BTYPE=00) ................... 11
|
||||||
|
3.2.5. Compressed blocks (length and distance codes) ...... 11
|
||||||
|
3.2.6. Compression with fixed Huffman codes (BTYPE=01) .... 12
|
||||||
|
3.2.7. Compression with dynamic Huffman codes (BTYPE=10) .. 13
|
||||||
|
3.3. Compliance ............................................... 14
|
||||||
|
4. Compression algorithm details ................................. 14
|
||||||
|
5. References .................................................... 16
|
||||||
|
6. Security Considerations ....................................... 16
|
||||||
|
7. Source code ................................................... 16
|
||||||
|
8. Acknowledgements .............................................. 16
|
||||||
|
9. Author's Address .............................................. 17
|
||||||
|
|
||||||
|
1. Introduction
|
||||||
|
|
||||||
|
1.1. Purpose
|
||||||
|
|
||||||
|
The purpose of this specification is to define a lossless
|
||||||
|
compressed data format that:
|
||||||
|
* Is independent of CPU type, operating system, file system,
|
||||||
|
and character set, and hence can be used for interchange;
|
||||||
|
* Can be produced or consumed, even for an arbitrarily long
|
||||||
|
sequentially presented input data stream, using only an a
|
||||||
|
priori bounded amount of intermediate storage, and hence
|
||||||
|
can be used in data communications or similar structures
|
||||||
|
such as Unix filters;
|
||||||
|
* Compresses data with efficiency comparable to the best
|
||||||
|
currently available general-purpose compression methods,
|
||||||
|
and in particular considerably better than the "compress"
|
||||||
|
program;
|
||||||
|
* Can be implemented readily in a manner not covered by
|
||||||
|
patents, and hence can be practiced freely;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 2]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
* Is compatible with the file format produced by the current
|
||||||
|
widely used gzip utility, in that conforming decompressors
|
||||||
|
will be able to read data produced by the existing gzip
|
||||||
|
compressor.
|
||||||
|
|
||||||
|
The data format defined by this specification does not attempt to:
|
||||||
|
|
||||||
|
* Allow random access to compressed data;
|
||||||
|
* Compress specialized data (e.g., raster graphics) as well
|
||||||
|
as the best currently available specialized algorithms.
|
||||||
|
|
||||||
|
A simple counting argument shows that no lossless compression
|
||||||
|
algorithm can compress every possible input data set. For the
|
||||||
|
format defined here, the worst case expansion is 5 bytes per 32K-
|
||||||
|
byte block, i.e., a size increase of 0.015% for large data sets.
|
||||||
|
English text usually compresses by a factor of 2.5 to 3;
|
||||||
|
executable files usually compress somewhat less; graphical data
|
||||||
|
such as raster images may compress much more.
|
||||||
|
|
||||||
|
1.2. Intended audience
|
||||||
|
|
||||||
|
This specification is intended for use by implementors of software
|
||||||
|
to compress data into "deflate" format and/or decompress data from
|
||||||
|
"deflate" format.
|
||||||
|
|
||||||
|
The text of the specification assumes a basic background in
|
||||||
|
programming at the level of bits and other primitive data
|
||||||
|
representations. Familiarity with the technique of Huffman coding
|
||||||
|
is helpful but not required.
|
||||||
|
|
||||||
|
1.3. Scope
|
||||||
|
|
||||||
|
The specification specifies a method for representing a sequence
|
||||||
|
of bytes as a (usually shorter) sequence of bits, and a method for
|
||||||
|
packing the latter bit sequence into bytes.
|
||||||
|
|
||||||
|
1.4. Compliance
|
||||||
|
|
||||||
|
Unless otherwise indicated below, a compliant decompressor must be
|
||||||
|
able to accept and decompress any data set that conforms to all
|
||||||
|
the specifications presented here; a compliant compressor must
|
||||||
|
produce data sets that conform to all the specifications presented
|
||||||
|
here.
|
||||||
|
|
||||||
|
1.5. Definitions of terms and conventions used
|
||||||
|
|
||||||
|
Byte: 8 bits stored or transmitted as a unit (same as an octet).
|
||||||
|
For this specification, a byte is exactly 8 bits, even on machines
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 3]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
which store a character on a number of bits different from eight.
|
||||||
|
See below, for the numbering of bits within a byte.
|
||||||
|
|
||||||
|
String: a sequence of arbitrary bytes.
|
||||||
|
|
||||||
|
1.6. Changes from previous versions
|
||||||
|
|
||||||
|
There have been no technical changes to the deflate format since
|
||||||
|
version 1.1 of this specification. In version 1.2, some
|
||||||
|
terminology was changed. Version 1.3 is a conversion of the
|
||||||
|
specification to RFC style.
|
||||||
|
|
||||||
|
2. Compressed representation overview
|
||||||
|
|
||||||
|
A compressed data set consists of a series of blocks, corresponding
|
||||||
|
to successive blocks of input data. The block sizes are arbitrary,
|
||||||
|
except that non-compressible blocks are limited to 65,535 bytes.
|
||||||
|
|
||||||
|
Each block is compressed using a combination of the LZ77 algorithm
|
||||||
|
and Huffman coding. The Huffman trees for each block are independent
|
||||||
|
of those for previous or subsequent blocks; the LZ77 algorithm may
|
||||||
|
use a reference to a duplicated string occurring in a previous block,
|
||||||
|
up to 32K input bytes before.
|
||||||
|
|
||||||
|
Each block consists of two parts: a pair of Huffman code trees that
|
||||||
|
describe the representation of the compressed data part, and a
|
||||||
|
compressed data part. (The Huffman trees themselves are compressed
|
||||||
|
using Huffman encoding.) The compressed data consists of a series of
|
||||||
|
elements of two types: literal bytes (of strings that have not been
|
||||||
|
detected as duplicated within the previous 32K input bytes), and
|
||||||
|
pointers to duplicated strings, where a pointer is represented as a
|
||||||
|
pair <length, backward distance>. The representation used in the
|
||||||
|
"deflate" format limits distances to 32K bytes and lengths to 258
|
||||||
|
bytes, but does not limit the size of a block, except for
|
||||||
|
uncompressible blocks, which are limited as noted above.
|
||||||
|
|
||||||
|
Each type of value (literals, distances, and lengths) in the
|
||||||
|
compressed data is represented using a Huffman code, using one code
|
||||||
|
tree for literals and lengths and a separate code tree for distances.
|
||||||
|
The code trees for each block appear in a compact form just before
|
||||||
|
the compressed data for that block.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 4]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
3. Detailed specification
|
||||||
|
|
||||||
|
3.1. Overall conventions In the diagrams below, a box like this:
|
||||||
|
|
||||||
|
+---+
|
||||||
|
| | <-- the vertical bars might be missing
|
||||||
|
+---+
|
||||||
|
|
||||||
|
represents one byte; a box like this:
|
||||||
|
|
||||||
|
+==============+
|
||||||
|
| |
|
||||||
|
+==============+
|
||||||
|
|
||||||
|
represents a variable number of bytes.
|
||||||
|
|
||||||
|
Bytes stored within a computer do not have a "bit order", since
|
||||||
|
they are always treated as a unit. However, a byte considered as
|
||||||
|
an integer between 0 and 255 does have a most- and least-
|
||||||
|
significant bit, and since we write numbers with the most-
|
||||||
|
significant digit on the left, we also write bytes with the most-
|
||||||
|
significant bit on the left. In the diagrams below, we number the
|
||||||
|
bits of a byte so that bit 0 is the least-significant bit, i.e.,
|
||||||
|
the bits are numbered:
|
||||||
|
|
||||||
|
+--------+
|
||||||
|
|76543210|
|
||||||
|
+--------+
|
||||||
|
|
||||||
|
Within a computer, a number may occupy multiple bytes. All
|
||||||
|
multi-byte numbers in the format described here are stored with
|
||||||
|
the least-significant byte first (at the lower memory address).
|
||||||
|
For example, the decimal number 520 is stored as:
|
||||||
|
|
||||||
|
0 1
|
||||||
|
+--------+--------+
|
||||||
|
|00001000|00000010|
|
||||||
|
+--------+--------+
|
||||||
|
^ ^
|
||||||
|
| |
|
||||||
|
| + more significant byte = 2 x 256
|
||||||
|
+ less significant byte = 8
|
||||||
|
|
||||||
|
3.1.1. Packing into bytes
|
||||||
|
|
||||||
|
This document does not address the issue of the order in which
|
||||||
|
bits of a byte are transmitted on a bit-sequential medium,
|
||||||
|
since the final data format described here is byte- rather than
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 5]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
bit-oriented. However, we describe the compressed block format
|
||||||
|
in below, as a sequence of data elements of various bit
|
||||||
|
lengths, not a sequence of bytes. We must therefore specify
|
||||||
|
how to pack these data elements into bytes to form the final
|
||||||
|
compressed byte sequence:
|
||||||
|
|
||||||
|
* Data elements are packed into bytes in order of
|
||||||
|
increasing bit number within the byte, i.e., starting
|
||||||
|
with the least-significant bit of the byte.
|
||||||
|
* Data elements other than Huffman codes are packed
|
||||||
|
starting with the least-significant bit of the data
|
||||||
|
element.
|
||||||
|
* Huffman codes are packed starting with the most-
|
||||||
|
significant bit of the code.
|
||||||
|
|
||||||
|
In other words, if one were to print out the compressed data as
|
||||||
|
a sequence of bytes, starting with the first byte at the
|
||||||
|
*right* margin and proceeding to the *left*, with the most-
|
||||||
|
significant bit of each byte on the left as usual, one would be
|
||||||
|
able to parse the result from right to left, with fixed-width
|
||||||
|
elements in the correct MSB-to-LSB order and Huffman codes in
|
||||||
|
bit-reversed order (i.e., with the first bit of the code in the
|
||||||
|
relative LSB position).
|
||||||
|
|
||||||
|
3.2. Compressed block format
|
||||||
|
|
||||||
|
3.2.1. Synopsis of prefix and Huffman coding
|
||||||
|
|
||||||
|
Prefix coding represents symbols from an a priori known
|
||||||
|
alphabet by bit sequences (codes), one code for each symbol, in
|
||||||
|
a manner such that different symbols may be represented by bit
|
||||||
|
sequences of different lengths, but a parser can always parse
|
||||||
|
an encoded string unambiguously symbol-by-symbol.
|
||||||
|
|
||||||
|
We define a prefix code in terms of a binary tree in which the
|
||||||
|
two edges descending from each non-leaf node are labeled 0 and
|
||||||
|
1 and in which the leaf nodes correspond one-for-one with (are
|
||||||
|
labeled with) the symbols of the alphabet; then the code for a
|
||||||
|
symbol is the sequence of 0's and 1's on the edges leading from
|
||||||
|
the root to the leaf labeled with that symbol. For example:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 6]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
/\ Symbol Code
|
||||||
|
0 1 ------ ----
|
||||||
|
/ \ A 00
|
||||||
|
/\ B B 1
|
||||||
|
0 1 C 011
|
||||||
|
/ \ D 010
|
||||||
|
A /\
|
||||||
|
0 1
|
||||||
|
/ \
|
||||||
|
D C
|
||||||
|
|
||||||
|
A parser can decode the next symbol from an encoded input
|
||||||
|
stream by walking down the tree from the root, at each step
|
||||||
|
choosing the edge corresponding to the next input bit.
|
||||||
|
|
||||||
|
Given an alphabet with known symbol frequencies, the Huffman
|
||||||
|
algorithm allows the construction of an optimal prefix code
|
||||||
|
(one which represents strings with those symbol frequencies
|
||||||
|
using the fewest bits of any possible prefix codes for that
|
||||||
|
alphabet). Such a code is called a Huffman code. (See
|
||||||
|
reference [1] in Chapter 5, references for additional
|
||||||
|
information on Huffman codes.)
|
||||||
|
|
||||||
|
Note that in the "deflate" format, the Huffman codes for the
|
||||||
|
various alphabets must not exceed certain maximum code lengths.
|
||||||
|
This constraint complicates the algorithm for computing code
|
||||||
|
lengths from symbol frequencies. Again, see Chapter 5,
|
||||||
|
references for details.
|
||||||
|
|
||||||
|
3.2.2. Use of Huffman coding in the "deflate" format
|
||||||
|
|
||||||
|
The Huffman codes used for each alphabet in the "deflate"
|
||||||
|
format have two additional rules:
|
||||||
|
|
||||||
|
* All codes of a given bit length have lexicographically
|
||||||
|
consecutive values, in the same order as the symbols
|
||||||
|
they represent;
|
||||||
|
|
||||||
|
* Shorter codes lexicographically precede longer codes.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 7]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
We could recode the example above to follow this rule as
|
||||||
|
follows, assuming that the order of the alphabet is ABCD:
|
||||||
|
|
||||||
|
Symbol Code
|
||||||
|
------ ----
|
||||||
|
A 10
|
||||||
|
B 0
|
||||||
|
C 110
|
||||||
|
D 111
|
||||||
|
|
||||||
|
I.e., 0 precedes 10 which precedes 11x, and 110 and 111 are
|
||||||
|
lexicographically consecutive.
|
||||||
|
|
||||||
|
Given this rule, we can define the Huffman code for an alphabet
|
||||||
|
just by giving the bit lengths of the codes for each symbol of
|
||||||
|
the alphabet in order; this is sufficient to determine the
|
||||||
|
actual codes. In our example, the code is completely defined
|
||||||
|
by the sequence of bit lengths (2, 1, 3, 3). The following
|
||||||
|
algorithm generates the codes as integers, intended to be read
|
||||||
|
from most- to least-significant bit. The code lengths are
|
||||||
|
initially in tree[I].Len; the codes are produced in
|
||||||
|
tree[I].Code.
|
||||||
|
|
||||||
|
1) Count the number of codes for each code length. Let
|
||||||
|
bl_count[N] be the number of codes of length N, N >= 1.
|
||||||
|
|
||||||
|
2) Find the numerical value of the smallest code for each
|
||||||
|
code length:
|
||||||
|
|
||||||
|
code = 0;
|
||||||
|
bl_count[0] = 0;
|
||||||
|
for (bits = 1; bits <= MAX_BITS; bits++) {
|
||||||
|
code = (code + bl_count[bits-1]) << 1;
|
||||||
|
next_code[bits] = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
3) Assign numerical values to all codes, using consecutive
|
||||||
|
values for all codes of the same length with the base
|
||||||
|
values determined at step 2. Codes that are never used
|
||||||
|
(which have a bit length of zero) must not be assigned a
|
||||||
|
value.
|
||||||
|
|
||||||
|
for (n = 0; n <= max_code; n++) {
|
||||||
|
len = tree[n].Len;
|
||||||
|
if (len != 0) {
|
||||||
|
tree[n].Code = next_code[len];
|
||||||
|
next_code[len]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 8]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
Consider the alphabet ABCDEFGH, with bit lengths (3, 3, 3, 3,
|
||||||
|
3, 2, 4, 4). After step 1, we have:
|
||||||
|
|
||||||
|
N bl_count[N]
|
||||||
|
- -----------
|
||||||
|
2 1
|
||||||
|
3 5
|
||||||
|
4 2
|
||||||
|
|
||||||
|
Step 2 computes the following next_code values:
|
||||||
|
|
||||||
|
N next_code[N]
|
||||||
|
- ------------
|
||||||
|
1 0
|
||||||
|
2 0
|
||||||
|
3 2
|
||||||
|
4 14
|
||||||
|
|
||||||
|
Step 3 produces the following code values:
|
||||||
|
|
||||||
|
Symbol Length Code
|
||||||
|
------ ------ ----
|
||||||
|
A 3 010
|
||||||
|
B 3 011
|
||||||
|
C 3 100
|
||||||
|
D 3 101
|
||||||
|
E 3 110
|
||||||
|
F 2 00
|
||||||
|
G 4 1110
|
||||||
|
H 4 1111
|
||||||
|
|
||||||
|
3.2.3. Details of block format
|
||||||
|
|
||||||
|
Each block of compressed data begins with 3 header bits
|
||||||
|
containing the following data:
|
||||||
|
|
||||||
|
first bit BFINAL
|
||||||
|
next 2 bits BTYPE
|
||||||
|
|
||||||
|
Note that the header bits do not necessarily begin on a byte
|
||||||
|
boundary, since a block does not necessarily occupy an integral
|
||||||
|
number of bytes.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 9]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
BFINAL is set if and only if this is the last block of the data
|
||||||
|
set.
|
||||||
|
|
||||||
|
BTYPE specifies how the data are compressed, as follows:
|
||||||
|
|
||||||
|
00 - no compression
|
||||||
|
01 - compressed with fixed Huffman codes
|
||||||
|
10 - compressed with dynamic Huffman codes
|
||||||
|
11 - reserved (error)
|
||||||
|
|
||||||
|
The only difference between the two compressed cases is how the
|
||||||
|
Huffman codes for the literal/length and distance alphabets are
|
||||||
|
defined.
|
||||||
|
|
||||||
|
In all cases, the decoding algorithm for the actual data is as
|
||||||
|
follows:
|
||||||
|
|
||||||
|
do
|
||||||
|
read block header from input stream.
|
||||||
|
if stored with no compression
|
||||||
|
skip any remaining bits in current partially
|
||||||
|
processed byte
|
||||||
|
read LEN and NLEN (see next section)
|
||||||
|
copy LEN bytes of data to output
|
||||||
|
otherwise
|
||||||
|
if compressed with dynamic Huffman codes
|
||||||
|
read representation of code trees (see
|
||||||
|
subsection below)
|
||||||
|
loop (until end of block code recognized)
|
||||||
|
decode literal/length value from input stream
|
||||||
|
if value < 256
|
||||||
|
copy value (literal byte) to output stream
|
||||||
|
otherwise
|
||||||
|
if value = end of block (256)
|
||||||
|
break from loop
|
||||||
|
otherwise (value = 257..285)
|
||||||
|
decode distance from input stream
|
||||||
|
|
||||||
|
move backwards distance bytes in the output
|
||||||
|
stream, and copy length bytes from this
|
||||||
|
position to the output stream.
|
||||||
|
end loop
|
||||||
|
while not last block
|
||||||
|
|
||||||
|
Note that a duplicated string reference may refer to a string
|
||||||
|
in a previous block; i.e., the backward distance may cross one
|
||||||
|
or more block boundaries. However a distance cannot refer past
|
||||||
|
the beginning of the output stream. (An application using a
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 10]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
preset dictionary might discard part of the output stream; a
|
||||||
|
distance can refer to that part of the output stream anyway)
|
||||||
|
Note also that the referenced string may overlap the current
|
||||||
|
position; for example, if the last 2 bytes decoded have values
|
||||||
|
X and Y, a string reference with <length = 5, distance = 2>
|
||||||
|
adds X,Y,X,Y,X to the output stream.
|
||||||
|
|
||||||
|
We now specify each compression method in turn.
|
||||||
|
|
||||||
|
3.2.4. Non-compressed blocks (BTYPE=00)
|
||||||
|
|
||||||
|
Any bits of input up to the next byte boundary are ignored.
|
||||||
|
The rest of the block consists of the following information:
|
||||||
|
|
||||||
|
0 1 2 3 4...
|
||||||
|
+---+---+---+---+================================+
|
||||||
|
| LEN | NLEN |... LEN bytes of literal data...|
|
||||||
|
+---+---+---+---+================================+
|
||||||
|
|
||||||
|
LEN is the number of data bytes in the block. NLEN is the
|
||||||
|
one's complement of LEN.
|
||||||
|
|
||||||
|
3.2.5. Compressed blocks (length and distance codes)
|
||||||
|
|
||||||
|
As noted above, encoded data blocks in the "deflate" format
|
||||||
|
consist of sequences of symbols drawn from three conceptually
|
||||||
|
distinct alphabets: either literal bytes, from the alphabet of
|
||||||
|
byte values (0..255), or <length, backward distance> pairs,
|
||||||
|
where the length is drawn from (3..258) and the distance is
|
||||||
|
drawn from (1..32,768). In fact, the literal and length
|
||||||
|
alphabets are merged into a single alphabet (0..285), where
|
||||||
|
values 0..255 represent literal bytes, the value 256 indicates
|
||||||
|
end-of-block, and values 257..285 represent length codes
|
||||||
|
(possibly in conjunction with extra bits following the symbol
|
||||||
|
code) as follows:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 11]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
Extra Extra Extra
|
||||||
|
Code Bits Length(s) Code Bits Lengths Code Bits Length(s)
|
||||||
|
---- ---- ------ ---- ---- ------- ---- ---- -------
|
||||||
|
257 0 3 267 1 15,16 277 4 67-82
|
||||||
|
258 0 4 268 1 17,18 278 4 83-98
|
||||||
|
259 0 5 269 2 19-22 279 4 99-114
|
||||||
|
260 0 6 270 2 23-26 280 4 115-130
|
||||||
|
261 0 7 271 2 27-30 281 5 131-162
|
||||||
|
262 0 8 272 2 31-34 282 5 163-194
|
||||||
|
263 0 9 273 3 35-42 283 5 195-226
|
||||||
|
264 0 10 274 3 43-50 284 5 227-257
|
||||||
|
265 1 11,12 275 3 51-58 285 0 258
|
||||||
|
266 1 13,14 276 3 59-66
|
||||||
|
|
||||||
|
The extra bits should be interpreted as a machine integer
|
||||||
|
stored with the most-significant bit first, e.g., bits 1110
|
||||||
|
represent the value 14.
|
||||||
|
|
||||||
|
Extra Extra Extra
|
||||||
|
Code Bits Dist Code Bits Dist Code Bits Distance
|
||||||
|
---- ---- ---- ---- ---- ------ ---- ---- --------
|
||||||
|
0 0 1 10 4 33-48 20 9 1025-1536
|
||||||
|
1 0 2 11 4 49-64 21 9 1537-2048
|
||||||
|
2 0 3 12 5 65-96 22 10 2049-3072
|
||||||
|
3 0 4 13 5 97-128 23 10 3073-4096
|
||||||
|
4 1 5,6 14 6 129-192 24 11 4097-6144
|
||||||
|
5 1 7,8 15 6 193-256 25 11 6145-8192
|
||||||
|
6 2 9-12 16 7 257-384 26 12 8193-12288
|
||||||
|
7 2 13-16 17 7 385-512 27 12 12289-16384
|
||||||
|
8 3 17-24 18 8 513-768 28 13 16385-24576
|
||||||
|
9 3 25-32 19 8 769-1024 29 13 24577-32768
|
||||||
|
|
||||||
|
3.2.6. Compression with fixed Huffman codes (BTYPE=01)
|
||||||
|
|
||||||
|
The Huffman codes for the two alphabets are fixed, and are not
|
||||||
|
represented explicitly in the data. The Huffman code lengths
|
||||||
|
for the literal/length alphabet are:
|
||||||
|
|
||||||
|
Lit Value Bits Codes
|
||||||
|
--------- ---- -----
|
||||||
|
0 - 143 8 00110000 through
|
||||||
|
10111111
|
||||||
|
144 - 255 9 110010000 through
|
||||||
|
111111111
|
||||||
|
256 - 279 7 0000000 through
|
||||||
|
0010111
|
||||||
|
280 - 287 8 11000000 through
|
||||||
|
11000111
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 12]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
The code lengths are sufficient to generate the actual codes,
|
||||||
|
as described above; we show the codes in the table for added
|
||||||
|
clarity. Literal/length values 286-287 will never actually
|
||||||
|
occur in the compressed data, but participate in the code
|
||||||
|
construction.
|
||||||
|
|
||||||
|
Distance codes 0-31 are represented by (fixed-length) 5-bit
|
||||||
|
codes, with possible additional bits as shown in the table
|
||||||
|
shown in Paragraph 3.2.5, above. Note that distance codes 30-
|
||||||
|
31 will never actually occur in the compressed data.
|
||||||
|
|
||||||
|
3.2.7. Compression with dynamic Huffman codes (BTYPE=10)
|
||||||
|
|
||||||
|
The Huffman codes for the two alphabets appear in the block
|
||||||
|
immediately after the header bits and before the actual
|
||||||
|
compressed data, first the literal/length code and then the
|
||||||
|
distance code. Each code is defined by a sequence of code
|
||||||
|
lengths, as discussed in Paragraph 3.2.2, above. For even
|
||||||
|
greater compactness, the code length sequences themselves are
|
||||||
|
compressed using a Huffman code. The alphabet for code lengths
|
||||||
|
is as follows:
|
||||||
|
|
||||||
|
0 - 15: Represent code lengths of 0 - 15
|
||||||
|
16: Copy the previous code length 3 - 6 times.
|
||||||
|
The next 2 bits indicate repeat length
|
||||||
|
(0 = 3, ... , 3 = 6)
|
||||||
|
Example: Codes 8, 16 (+2 bits 11),
|
||||||
|
16 (+2 bits 10) will expand to
|
||||||
|
12 code lengths of 8 (1 + 6 + 5)
|
||||||
|
17: Repeat a code length of 0 for 3 - 10 times.
|
||||||
|
(3 bits of length)
|
||||||
|
18: Repeat a code length of 0 for 11 - 138 times
|
||||||
|
(7 bits of length)
|
||||||
|
|
||||||
|
A code length of 0 indicates that the corresponding symbol in
|
||||||
|
the literal/length or distance alphabet will not occur in the
|
||||||
|
block, and should not participate in the Huffman code
|
||||||
|
construction algorithm given earlier. If only one distance
|
||||||
|
code is used, it is encoded using one bit, not zero bits; in
|
||||||
|
this case there is a single code length of one, with one unused
|
||||||
|
code. One distance code of zero bits means that there are no
|
||||||
|
distance codes used at all (the data is all literals).
|
||||||
|
|
||||||
|
We can now define the format of the block:
|
||||||
|
|
||||||
|
5 Bits: HLIT, # of Literal/Length codes - 257 (257 - 286)
|
||||||
|
5 Bits: HDIST, # of Distance codes - 1 (1 - 32)
|
||||||
|
4 Bits: HCLEN, # of Code Length codes - 4 (4 - 19)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 13]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
(HCLEN + 4) x 3 bits: code lengths for the code length
|
||||||
|
alphabet given just above, in the order: 16, 17, 18,
|
||||||
|
0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15
|
||||||
|
|
||||||
|
These code lengths are interpreted as 3-bit integers
|
||||||
|
(0-7); as above, a code length of 0 means the
|
||||||
|
corresponding symbol (literal/length or distance code
|
||||||
|
length) is not used.
|
||||||
|
|
||||||
|
HLIT + 257 code lengths for the literal/length alphabet,
|
||||||
|
encoded using the code length Huffman code
|
||||||
|
|
||||||
|
HDIST + 1 code lengths for the distance alphabet,
|
||||||
|
encoded using the code length Huffman code
|
||||||
|
|
||||||
|
The actual compressed data of the block,
|
||||||
|
encoded using the literal/length and distance Huffman
|
||||||
|
codes
|
||||||
|
|
||||||
|
The literal/length symbol 256 (end of data),
|
||||||
|
encoded using the literal/length Huffman code
|
||||||
|
|
||||||
|
The code length repeat codes can cross from HLIT + 257 to the
|
||||||
|
HDIST + 1 code lengths. In other words, all code lengths form
|
||||||
|
a single sequence of HLIT + HDIST + 258 values.
|
||||||
|
|
||||||
|
3.3. Compliance
|
||||||
|
|
||||||
|
A compressor may limit further the ranges of values specified in
|
||||||
|
the previous section and still be compliant; for example, it may
|
||||||
|
limit the range of backward pointers to some value smaller than
|
||||||
|
32K. Similarly, a compressor may limit the size of blocks so that
|
||||||
|
a compressible block fits in memory.
|
||||||
|
|
||||||
|
A compliant decompressor must accept the full range of possible
|
||||||
|
values defined in the previous section, and must accept blocks of
|
||||||
|
arbitrary size.
|
||||||
|
|
||||||
|
4. Compression algorithm details
|
||||||
|
|
||||||
|
While it is the intent of this document to define the "deflate"
|
||||||
|
compressed data format without reference to any particular
|
||||||
|
compression algorithm, the format is related to the compressed
|
||||||
|
formats produced by LZ77 (Lempel-Ziv 1977, see reference [2] below);
|
||||||
|
since many variations of LZ77 are patented, it is strongly
|
||||||
|
recommended that the implementor of a compressor follow the general
|
||||||
|
algorithm presented here, which is known not to be patented per se.
|
||||||
|
The material in this section is not part of the definition of the
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 14]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
specification per se, and a compressor need not follow it in order to
|
||||||
|
be compliant.
|
||||||
|
|
||||||
|
The compressor terminates a block when it determines that starting a
|
||||||
|
new block with fresh trees would be useful, or when the block size
|
||||||
|
fills up the compressor's block buffer.
|
||||||
|
|
||||||
|
The compressor uses a chained hash table to find duplicated strings,
|
||||||
|
using a hash function that operates on 3-byte sequences. At any
|
||||||
|
given point during compression, let XYZ be the next 3 input bytes to
|
||||||
|
be examined (not necessarily all different, of course). First, the
|
||||||
|
compressor examines the hash chain for XYZ. If the chain is empty,
|
||||||
|
the compressor simply writes out X as a literal byte and advances one
|
||||||
|
byte in the input. If the hash chain is not empty, indicating that
|
||||||
|
the sequence XYZ (or, if we are unlucky, some other 3 bytes with the
|
||||||
|
same hash function value) has occurred recently, the compressor
|
||||||
|
compares all strings on the XYZ hash chain with the actual input data
|
||||||
|
sequence starting at the current point, and selects the longest
|
||||||
|
match.
|
||||||
|
|
||||||
|
The compressor searches the hash chains starting with the most recent
|
||||||
|
strings, to favor small distances and thus take advantage of the
|
||||||
|
Huffman encoding. The hash chains are singly linked. There are no
|
||||||
|
deletions from the hash chains; the algorithm simply discards matches
|
||||||
|
that are too old. To avoid a worst-case situation, very long hash
|
||||||
|
chains are arbitrarily truncated at a certain length, determined by a
|
||||||
|
run-time parameter.
|
||||||
|
|
||||||
|
To improve overall compression, the compressor optionally defers the
|
||||||
|
selection of matches ("lazy matching"): after a match of length N has
|
||||||
|
been found, the compressor searches for a longer match starting at
|
||||||
|
the next input byte. If it finds a longer match, it truncates the
|
||||||
|
previous match to a length of one (thus producing a single literal
|
||||||
|
byte) and then emits the longer match. Otherwise, it emits the
|
||||||
|
original match, and, as described above, advances N bytes before
|
||||||
|
continuing.
|
||||||
|
|
||||||
|
Run-time parameters also control this "lazy match" procedure. If
|
||||||
|
compression ratio is most important, the compressor attempts a
|
||||||
|
complete second search regardless of the length of the first match.
|
||||||
|
In the normal case, if the current match is "long enough", the
|
||||||
|
compressor reduces the search for a longer match, thus speeding up
|
||||||
|
the process. If speed is most important, the compressor inserts new
|
||||||
|
strings in the hash table only when no match was found, or when the
|
||||||
|
match is not "too long". This degrades the compression ratio but
|
||||||
|
saves time since there are both fewer insertions and fewer searches.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 15]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
5. References
|
||||||
|
|
||||||
|
[1] Huffman, D. A., "A Method for the Construction of Minimum
|
||||||
|
Redundancy Codes", Proceedings of the Institute of Radio
|
||||||
|
Engineers, September 1952, Volume 40, Number 9, pp. 1098-1101.
|
||||||
|
|
||||||
|
[2] Ziv J., Lempel A., "A Universal Algorithm for Sequential Data
|
||||||
|
Compression", IEEE Transactions on Information Theory, Vol. 23,
|
||||||
|
No. 3, pp. 337-343.
|
||||||
|
|
||||||
|
[3] Gailly, J.-L., and Adler, M., ZLIB documentation and sources,
|
||||||
|
available in ftp://ftp.uu.net/pub/archiving/zip/doc/
|
||||||
|
|
||||||
|
[4] Gailly, J.-L., and Adler, M., GZIP documentation and sources,
|
||||||
|
available as gzip-*.tar in ftp://prep.ai.mit.edu/pub/gnu/
|
||||||
|
|
||||||
|
[5] Schwartz, E. S., and Kallick, B. "Generating a canonical prefix
|
||||||
|
encoding." Comm. ACM, 7,3 (Mar. 1964), pp. 166-169.
|
||||||
|
|
||||||
|
[6] Hirschberg and Lelewer, "Efficient decoding of prefix codes,"
|
||||||
|
Comm. ACM, 33,4, April 1990, pp. 449-459.
|
||||||
|
|
||||||
|
6. Security Considerations
|
||||||
|
|
||||||
|
Any data compression method involves the reduction of redundancy in
|
||||||
|
the data. Consequently, any corruption of the data is likely to have
|
||||||
|
severe effects and be difficult to correct. Uncompressed text, on
|
||||||
|
the other hand, will probably still be readable despite the presence
|
||||||
|
of some corrupted bytes.
|
||||||
|
|
||||||
|
It is recommended that systems using this data format provide some
|
||||||
|
means of validating the integrity of the compressed data. See
|
||||||
|
reference [3], for example.
|
||||||
|
|
||||||
|
7. Source code
|
||||||
|
|
||||||
|
Source code for a C language implementation of a "deflate" compliant
|
||||||
|
compressor and decompressor is available within the zlib package at
|
||||||
|
ftp://ftp.uu.net/pub/archiving/zip/zlib/.
|
||||||
|
|
||||||
|
8. Acknowledgements
|
||||||
|
|
||||||
|
Trademarks cited in this document are the property of their
|
||||||
|
respective owners.
|
||||||
|
|
||||||
|
Phil Katz designed the deflate format. Jean-Loup Gailly and Mark
|
||||||
|
Adler wrote the related software described in this specification.
|
||||||
|
Glenn Randers-Pehrson converted this document to RFC and HTML format.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 16]
|
||||||
|
|
||||||
|
RFC 1951 DEFLATE Compressed Data Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
9. Author's Address
|
||||||
|
|
||||||
|
L. Peter Deutsch
|
||||||
|
Aladdin Enterprises
|
||||||
|
203 Santa Margarita Ave.
|
||||||
|
Menlo Park, CA 94025
|
||||||
|
|
||||||
|
Phone: (415) 322-0103 (AM only)
|
||||||
|
FAX: (415) 322-1734
|
||||||
|
EMail: <ghost@aladdin.com>
|
||||||
|
|
||||||
|
Questions about the technical content of this specification can be
|
||||||
|
sent by email to:
|
||||||
|
|
||||||
|
Jean-Loup Gailly <gzip@prep.ai.mit.edu> and
|
||||||
|
Mark Adler <madler@alumni.caltech.edu>
|
||||||
|
|
||||||
|
Editorial comments on this specification can be sent by email to:
|
||||||
|
|
||||||
|
L. Peter Deutsch <ghost@aladdin.com> and
|
||||||
|
Glenn Randers-Pehrson <randeg@alumni.rpi.edu>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 17]
|
||||||
|
|
||||||
675
doc/rfc1952.txt
Normal file
675
doc/rfc1952.txt
Normal file
@@ -0,0 +1,675 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Network Working Group P. Deutsch
|
||||||
|
Request for Comments: 1952 Aladdin Enterprises
|
||||||
|
Category: Informational May 1996
|
||||||
|
|
||||||
|
|
||||||
|
GZIP file format specification version 4.3
|
||||||
|
|
||||||
|
Status of This Memo
|
||||||
|
|
||||||
|
This memo provides information for the Internet community. This memo
|
||||||
|
does not specify an Internet standard of any kind. Distribution of
|
||||||
|
this memo is unlimited.
|
||||||
|
|
||||||
|
IESG Note:
|
||||||
|
|
||||||
|
The IESG takes no position on the validity of any Intellectual
|
||||||
|
Property Rights statements contained in this document.
|
||||||
|
|
||||||
|
Notices
|
||||||
|
|
||||||
|
Copyright (c) 1996 L. Peter Deutsch
|
||||||
|
|
||||||
|
Permission is granted to copy and distribute this document for any
|
||||||
|
purpose and without charge, including translations into other
|
||||||
|
languages and incorporation into compilations, provided that the
|
||||||
|
copyright notice and this notice are preserved, and that any
|
||||||
|
substantive changes or deletions from the original are clearly
|
||||||
|
marked.
|
||||||
|
|
||||||
|
A pointer to the latest version of this and related documentation in
|
||||||
|
HTML format can be found at the URL
|
||||||
|
<ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html>.
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
|
||||||
|
This specification defines a lossless compressed data format that is
|
||||||
|
compatible with the widely used GZIP utility. The format includes a
|
||||||
|
cyclic redundancy check value for detecting data corruption. The
|
||||||
|
format presently uses the DEFLATE method of compression but can be
|
||||||
|
easily extended to use other compression methods. The format can be
|
||||||
|
implemented readily in a manner not covered by patents.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 1]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
Table of Contents
|
||||||
|
|
||||||
|
1. Introduction ................................................... 2
|
||||||
|
1.1. Purpose ................................................... 2
|
||||||
|
1.2. Intended audience ......................................... 3
|
||||||
|
1.3. Scope ..................................................... 3
|
||||||
|
1.4. Compliance ................................................ 3
|
||||||
|
1.5. Definitions of terms and conventions used ................. 3
|
||||||
|
1.6. Changes from previous versions ............................ 3
|
||||||
|
2. Detailed specification ......................................... 4
|
||||||
|
2.1. Overall conventions ....................................... 4
|
||||||
|
2.2. File format ............................................... 5
|
||||||
|
2.3. Member format ............................................. 5
|
||||||
|
2.3.1. Member header and trailer ........................... 6
|
||||||
|
2.3.1.1. Extra field ................................... 8
|
||||||
|
2.3.1.2. Compliance .................................... 9
|
||||||
|
3. References .................................................. 9
|
||||||
|
4. Security Considerations .................................... 10
|
||||||
|
5. Acknowledgements ........................................... 10
|
||||||
|
6. Author's Address ........................................... 10
|
||||||
|
7. Appendix: Jean-Loup Gailly's gzip utility .................. 11
|
||||||
|
8. Appendix: Sample CRC Code .................................. 11
|
||||||
|
|
||||||
|
1. Introduction
|
||||||
|
|
||||||
|
1.1. Purpose
|
||||||
|
|
||||||
|
The purpose of this specification is to define a lossless
|
||||||
|
compressed data format that:
|
||||||
|
|
||||||
|
* Is independent of CPU type, operating system, file system,
|
||||||
|
and character set, and hence can be used for interchange;
|
||||||
|
* Can compress or decompress a data stream (as opposed to a
|
||||||
|
randomly accessible file) to produce another data stream,
|
||||||
|
using only an a priori bounded amount of intermediate
|
||||||
|
storage, and hence can be used in data communications or
|
||||||
|
similar structures such as Unix filters;
|
||||||
|
* Compresses data with efficiency comparable to the best
|
||||||
|
currently available general-purpose compression methods,
|
||||||
|
and in particular considerably better than the "compress"
|
||||||
|
program;
|
||||||
|
* Can be implemented readily in a manner not covered by
|
||||||
|
patents, and hence can be practiced freely;
|
||||||
|
* Is compatible with the file format produced by the current
|
||||||
|
widely used gzip utility, in that conforming decompressors
|
||||||
|
will be able to read data produced by the existing gzip
|
||||||
|
compressor.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 2]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
The data format defined by this specification does not attempt to:
|
||||||
|
|
||||||
|
* Provide random access to compressed data;
|
||||||
|
* Compress specialized data (e.g., raster graphics) as well as
|
||||||
|
the best currently available specialized algorithms.
|
||||||
|
|
||||||
|
1.2. Intended audience
|
||||||
|
|
||||||
|
This specification is intended for use by implementors of software
|
||||||
|
to compress data into gzip format and/or decompress data from gzip
|
||||||
|
format.
|
||||||
|
|
||||||
|
The text of the specification assumes a basic background in
|
||||||
|
programming at the level of bits and other primitive data
|
||||||
|
representations.
|
||||||
|
|
||||||
|
1.3. Scope
|
||||||
|
|
||||||
|
The specification specifies a compression method and a file format
|
||||||
|
(the latter assuming only that a file can store a sequence of
|
||||||
|
arbitrary bytes). It does not specify any particular interface to
|
||||||
|
a file system or anything about character sets or encodings
|
||||||
|
(except for file names and comments, which are optional).
|
||||||
|
|
||||||
|
1.4. Compliance
|
||||||
|
|
||||||
|
Unless otherwise indicated below, a compliant decompressor must be
|
||||||
|
able to accept and decompress any file that conforms to all the
|
||||||
|
specifications presented here; a compliant compressor must produce
|
||||||
|
files that conform to all the specifications presented here. The
|
||||||
|
material in the appendices is not part of the specification per se
|
||||||
|
and is not relevant to compliance.
|
||||||
|
|
||||||
|
1.5. Definitions of terms and conventions used
|
||||||
|
|
||||||
|
byte: 8 bits stored or transmitted as a unit (same as an octet).
|
||||||
|
(For this specification, a byte is exactly 8 bits, even on
|
||||||
|
machines which store a character on a number of bits different
|
||||||
|
from 8.) See below for the numbering of bits within a byte.
|
||||||
|
|
||||||
|
1.6. Changes from previous versions
|
||||||
|
|
||||||
|
There have been no technical changes to the gzip format since
|
||||||
|
version 4.1 of this specification. In version 4.2, some
|
||||||
|
terminology was changed, and the sample CRC code was rewritten for
|
||||||
|
clarity and to eliminate the requirement for the caller to do pre-
|
||||||
|
and post-conditioning. Version 4.3 is a conversion of the
|
||||||
|
specification to RFC style.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 3]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
2. Detailed specification
|
||||||
|
|
||||||
|
2.1. Overall conventions
|
||||||
|
|
||||||
|
In the diagrams below, a box like this:
|
||||||
|
|
||||||
|
+---+
|
||||||
|
| | <-- the vertical bars might be missing
|
||||||
|
+---+
|
||||||
|
|
||||||
|
represents one byte; a box like this:
|
||||||
|
|
||||||
|
+==============+
|
||||||
|
| |
|
||||||
|
+==============+
|
||||||
|
|
||||||
|
represents a variable number of bytes.
|
||||||
|
|
||||||
|
Bytes stored within a computer do not have a "bit order", since
|
||||||
|
they are always treated as a unit. However, a byte considered as
|
||||||
|
an integer between 0 and 255 does have a most- and least-
|
||||||
|
significant bit, and since we write numbers with the most-
|
||||||
|
significant digit on the left, we also write bytes with the most-
|
||||||
|
significant bit on the left. In the diagrams below, we number the
|
||||||
|
bits of a byte so that bit 0 is the least-significant bit, i.e.,
|
||||||
|
the bits are numbered:
|
||||||
|
|
||||||
|
+--------+
|
||||||
|
|76543210|
|
||||||
|
+--------+
|
||||||
|
|
||||||
|
This document does not address the issue of the order in which
|
||||||
|
bits of a byte are transmitted on a bit-sequential medium, since
|
||||||
|
the data format described here is byte- rather than bit-oriented.
|
||||||
|
|
||||||
|
Within a computer, a number may occupy multiple bytes. All
|
||||||
|
multi-byte numbers in the format described here are stored with
|
||||||
|
the least-significant byte first (at the lower memory address).
|
||||||
|
For example, the decimal number 520 is stored as:
|
||||||
|
|
||||||
|
0 1
|
||||||
|
+--------+--------+
|
||||||
|
|00001000|00000010|
|
||||||
|
+--------+--------+
|
||||||
|
^ ^
|
||||||
|
| |
|
||||||
|
| + more significant byte = 2 x 256
|
||||||
|
+ less significant byte = 8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 4]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
2.2. File format
|
||||||
|
|
||||||
|
A gzip file consists of a series of "members" (compressed data
|
||||||
|
sets). The format of each member is specified in the following
|
||||||
|
section. The members simply appear one after another in the file,
|
||||||
|
with no additional information before, between, or after them.
|
||||||
|
|
||||||
|
2.3. Member format
|
||||||
|
|
||||||
|
Each member has the following structure:
|
||||||
|
|
||||||
|
+---+---+---+---+---+---+---+---+---+---+
|
||||||
|
|ID1|ID2|CM |FLG| MTIME |XFL|OS | (more-->)
|
||||||
|
+---+---+---+---+---+---+---+---+---+---+
|
||||||
|
|
||||||
|
(if FLG.FEXTRA set)
|
||||||
|
|
||||||
|
+---+---+=================================+
|
||||||
|
| XLEN |...XLEN bytes of "extra field"...| (more-->)
|
||||||
|
+---+---+=================================+
|
||||||
|
|
||||||
|
(if FLG.FNAME set)
|
||||||
|
|
||||||
|
+=========================================+
|
||||||
|
|...original file name, zero-terminated...| (more-->)
|
||||||
|
+=========================================+
|
||||||
|
|
||||||
|
(if FLG.FCOMMENT set)
|
||||||
|
|
||||||
|
+===================================+
|
||||||
|
|...file comment, zero-terminated...| (more-->)
|
||||||
|
+===================================+
|
||||||
|
|
||||||
|
(if FLG.FHCRC set)
|
||||||
|
|
||||||
|
+---+---+
|
||||||
|
| CRC16 |
|
||||||
|
+---+---+
|
||||||
|
|
||||||
|
+=======================+
|
||||||
|
|...compressed blocks...| (more-->)
|
||||||
|
+=======================+
|
||||||
|
|
||||||
|
0 1 2 3 4 5 6 7
|
||||||
|
+---+---+---+---+---+---+---+---+
|
||||||
|
| CRC32 | ISIZE |
|
||||||
|
+---+---+---+---+---+---+---+---+
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 5]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
2.3.1. Member header and trailer
|
||||||
|
|
||||||
|
ID1 (IDentification 1)
|
||||||
|
ID2 (IDentification 2)
|
||||||
|
These have the fixed values ID1 = 31 (0x1f, \037), ID2 = 139
|
||||||
|
(0x8b, \213), to identify the file as being in gzip format.
|
||||||
|
|
||||||
|
CM (Compression Method)
|
||||||
|
This identifies the compression method used in the file. CM
|
||||||
|
= 0-7 are reserved. CM = 8 denotes the "deflate"
|
||||||
|
compression method, which is the one customarily used by
|
||||||
|
gzip and which is documented elsewhere.
|
||||||
|
|
||||||
|
FLG (FLaGs)
|
||||||
|
This flag byte is divided into individual bits as follows:
|
||||||
|
|
||||||
|
bit 0 FTEXT
|
||||||
|
bit 1 FHCRC
|
||||||
|
bit 2 FEXTRA
|
||||||
|
bit 3 FNAME
|
||||||
|
bit 4 FCOMMENT
|
||||||
|
bit 5 reserved
|
||||||
|
bit 6 reserved
|
||||||
|
bit 7 reserved
|
||||||
|
|
||||||
|
If FTEXT is set, the file is probably ASCII text. This is
|
||||||
|
an optional indication, which the compressor may set by
|
||||||
|
checking a small amount of the input data to see whether any
|
||||||
|
non-ASCII characters are present. In case of doubt, FTEXT
|
||||||
|
is cleared, indicating binary data. For systems which have
|
||||||
|
different file formats for ascii text and binary data, the
|
||||||
|
decompressor can use FTEXT to choose the appropriate format.
|
||||||
|
We deliberately do not specify the algorithm used to set
|
||||||
|
this bit, since a compressor always has the option of
|
||||||
|
leaving it cleared and a decompressor always has the option
|
||||||
|
of ignoring it and letting some other program handle issues
|
||||||
|
of data conversion.
|
||||||
|
|
||||||
|
If FHCRC is set, a CRC16 for the gzip header is present,
|
||||||
|
immediately before the compressed data. The CRC16 consists
|
||||||
|
of the two least significant bytes of the CRC32 for all
|
||||||
|
bytes of the gzip header up to and not including the CRC16.
|
||||||
|
[The FHCRC bit was never set by versions of gzip up to
|
||||||
|
1.2.4, even though it was documented with a different
|
||||||
|
meaning in gzip 1.2.4.]
|
||||||
|
|
||||||
|
If FEXTRA is set, optional extra fields are present, as
|
||||||
|
described in a following section.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 6]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
If FNAME is set, an original file name is present,
|
||||||
|
terminated by a zero byte. The name must consist of ISO
|
||||||
|
8859-1 (LATIN-1) characters; on operating systems using
|
||||||
|
EBCDIC or any other character set for file names, the name
|
||||||
|
must be translated to the ISO LATIN-1 character set. This
|
||||||
|
is the original name of the file being compressed, with any
|
||||||
|
directory components removed, and, if the file being
|
||||||
|
compressed is on a file system with case insensitive names,
|
||||||
|
forced to lower case. There is no original file name if the
|
||||||
|
data was compressed from a source other than a named file;
|
||||||
|
for example, if the source was stdin on a Unix system, there
|
||||||
|
is no file name.
|
||||||
|
|
||||||
|
If FCOMMENT is set, a zero-terminated file comment is
|
||||||
|
present. This comment is not interpreted; it is only
|
||||||
|
intended for human consumption. The comment must consist of
|
||||||
|
ISO 8859-1 (LATIN-1) characters. Line breaks should be
|
||||||
|
denoted by a single line feed character (10 decimal).
|
||||||
|
|
||||||
|
Reserved FLG bits must be zero.
|
||||||
|
|
||||||
|
MTIME (Modification TIME)
|
||||||
|
This gives the most recent modification time of the original
|
||||||
|
file being compressed. The time is in Unix format, i.e.,
|
||||||
|
seconds since 00:00:00 GMT, Jan. 1, 1970. (Note that this
|
||||||
|
may cause problems for MS-DOS and other systems that use
|
||||||
|
local rather than Universal time.) If the compressed data
|
||||||
|
did not come from a file, MTIME is set to the time at which
|
||||||
|
compression started. MTIME = 0 means no time stamp is
|
||||||
|
available.
|
||||||
|
|
||||||
|
XFL (eXtra FLags)
|
||||||
|
These flags are available for use by specific compression
|
||||||
|
methods. The "deflate" method (CM = 8) sets these flags as
|
||||||
|
follows:
|
||||||
|
|
||||||
|
XFL = 2 - compressor used maximum compression,
|
||||||
|
slowest algorithm
|
||||||
|
XFL = 4 - compressor used fastest algorithm
|
||||||
|
|
||||||
|
OS (Operating System)
|
||||||
|
This identifies the type of file system on which compression
|
||||||
|
took place. This may be useful in determining end-of-line
|
||||||
|
convention for text files. The currently defined values are
|
||||||
|
as follows:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 7]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
0 - FAT filesystem (MS-DOS, OS/2, NT/Win32)
|
||||||
|
1 - Amiga
|
||||||
|
2 - VMS (or OpenVMS)
|
||||||
|
3 - Unix
|
||||||
|
4 - VM/CMS
|
||||||
|
5 - Atari TOS
|
||||||
|
6 - HPFS filesystem (OS/2, NT)
|
||||||
|
7 - Macintosh
|
||||||
|
8 - Z-System
|
||||||
|
9 - CP/M
|
||||||
|
10 - TOPS-20
|
||||||
|
11 - NTFS filesystem (NT)
|
||||||
|
12 - QDOS
|
||||||
|
13 - Acorn RISCOS
|
||||||
|
255 - unknown
|
||||||
|
|
||||||
|
XLEN (eXtra LENgth)
|
||||||
|
If FLG.FEXTRA is set, this gives the length of the optional
|
||||||
|
extra field. See below for details.
|
||||||
|
|
||||||
|
CRC32 (CRC-32)
|
||||||
|
This contains a Cyclic Redundancy Check value of the
|
||||||
|
uncompressed data computed according to CRC-32 algorithm
|
||||||
|
used in the ISO 3309 standard and in section 8.1.1.6.2 of
|
||||||
|
ITU-T recommendation V.42. (See http://www.iso.ch for
|
||||||
|
ordering ISO documents. See gopher://info.itu.ch for an
|
||||||
|
online version of ITU-T V.42.)
|
||||||
|
|
||||||
|
ISIZE (Input SIZE)
|
||||||
|
This contains the size of the original (uncompressed) input
|
||||||
|
data modulo 2^32.
|
||||||
|
|
||||||
|
2.3.1.1. Extra field
|
||||||
|
|
||||||
|
If the FLG.FEXTRA bit is set, an "extra field" is present in
|
||||||
|
the header, with total length XLEN bytes. It consists of a
|
||||||
|
series of subfields, each of the form:
|
||||||
|
|
||||||
|
+---+---+---+---+==================================+
|
||||||
|
|SI1|SI2| LEN |... LEN bytes of subfield data ...|
|
||||||
|
+---+---+---+---+==================================+
|
||||||
|
|
||||||
|
SI1 and SI2 provide a subfield ID, typically two ASCII letters
|
||||||
|
with some mnemonic value. Jean-Loup Gailly
|
||||||
|
<gzip@prep.ai.mit.edu> is maintaining a registry of subfield
|
||||||
|
IDs; please send him any subfield ID you wish to use. Subfield
|
||||||
|
IDs with SI2 = 0 are reserved for future use. The following
|
||||||
|
IDs are currently defined:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 8]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
SI1 SI2 Data
|
||||||
|
---------- ---------- ----
|
||||||
|
0x41 ('A') 0x70 ('P') Apollo file type information
|
||||||
|
|
||||||
|
LEN gives the length of the subfield data, excluding the 4
|
||||||
|
initial bytes.
|
||||||
|
|
||||||
|
2.3.1.2. Compliance
|
||||||
|
|
||||||
|
A compliant compressor must produce files with correct ID1,
|
||||||
|
ID2, CM, CRC32, and ISIZE, but may set all the other fields in
|
||||||
|
the fixed-length part of the header to default values (255 for
|
||||||
|
OS, 0 for all others). The compressor must set all reserved
|
||||||
|
bits to zero.
|
||||||
|
|
||||||
|
A compliant decompressor must check ID1, ID2, and CM, and
|
||||||
|
provide an error indication if any of these have incorrect
|
||||||
|
values. It must examine FEXTRA/XLEN, FNAME, FCOMMENT and FHCRC
|
||||||
|
at least so it can skip over the optional fields if they are
|
||||||
|
present. It need not examine any other part of the header or
|
||||||
|
trailer; in particular, a decompressor may ignore FTEXT and OS
|
||||||
|
and always produce binary output, and still be compliant. A
|
||||||
|
compliant decompressor must give an error indication if any
|
||||||
|
reserved bit is non-zero, since such a bit could indicate the
|
||||||
|
presence of a new field that would cause subsequent data to be
|
||||||
|
interpreted incorrectly.
|
||||||
|
|
||||||
|
3. References
|
||||||
|
|
||||||
|
[1] "Information Processing - 8-bit single-byte coded graphic
|
||||||
|
character sets - Part 1: Latin alphabet No.1" (ISO 8859-1:1987).
|
||||||
|
The ISO 8859-1 (Latin-1) character set is a superset of 7-bit
|
||||||
|
ASCII. Files defining this character set are available as
|
||||||
|
iso_8859-1.* in ftp://ftp.uu.net/graphics/png/documents/
|
||||||
|
|
||||||
|
[2] ISO 3309
|
||||||
|
|
||||||
|
[3] ITU-T recommendation V.42
|
||||||
|
|
||||||
|
[4] Deutsch, L.P.,"DEFLATE Compressed Data Format Specification",
|
||||||
|
available in ftp://ftp.uu.net/pub/archiving/zip/doc/
|
||||||
|
|
||||||
|
[5] Gailly, J.-L., GZIP documentation, available as gzip-*.tar in
|
||||||
|
ftp://prep.ai.mit.edu/pub/gnu/
|
||||||
|
|
||||||
|
[6] Sarwate, D.V., "Computation of Cyclic Redundancy Checks via Table
|
||||||
|
Look-Up", Communications of the ACM, 31(8), pp.1008-1013.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 9]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
[7] Schwaderer, W.D., "CRC Calculation", April 85 PC Tech Journal,
|
||||||
|
pp.118-133.
|
||||||
|
|
||||||
|
[8] ftp://ftp.adelaide.edu.au/pub/rocksoft/papers/crc_v3.txt,
|
||||||
|
describing the CRC concept.
|
||||||
|
|
||||||
|
4. Security Considerations
|
||||||
|
|
||||||
|
Any data compression method involves the reduction of redundancy in
|
||||||
|
the data. Consequently, any corruption of the data is likely to have
|
||||||
|
severe effects and be difficult to correct. Uncompressed text, on
|
||||||
|
the other hand, will probably still be readable despite the presence
|
||||||
|
of some corrupted bytes.
|
||||||
|
|
||||||
|
It is recommended that systems using this data format provide some
|
||||||
|
means of validating the integrity of the compressed data, such as by
|
||||||
|
setting and checking the CRC-32 check value.
|
||||||
|
|
||||||
|
5. Acknowledgements
|
||||||
|
|
||||||
|
Trademarks cited in this document are the property of their
|
||||||
|
respective owners.
|
||||||
|
|
||||||
|
Jean-Loup Gailly designed the gzip format and wrote, with Mark Adler,
|
||||||
|
the related software described in this specification. Glenn
|
||||||
|
Randers-Pehrson converted this document to RFC and HTML format.
|
||||||
|
|
||||||
|
6. Author's Address
|
||||||
|
|
||||||
|
L. Peter Deutsch
|
||||||
|
Aladdin Enterprises
|
||||||
|
203 Santa Margarita Ave.
|
||||||
|
Menlo Park, CA 94025
|
||||||
|
|
||||||
|
Phone: (415) 322-0103 (AM only)
|
||||||
|
FAX: (415) 322-1734
|
||||||
|
EMail: <ghost@aladdin.com>
|
||||||
|
|
||||||
|
Questions about the technical content of this specification can be
|
||||||
|
sent by email to:
|
||||||
|
|
||||||
|
Jean-Loup Gailly <gzip@prep.ai.mit.edu> and
|
||||||
|
Mark Adler <madler@alumni.caltech.edu>
|
||||||
|
|
||||||
|
Editorial comments on this specification can be sent by email to:
|
||||||
|
|
||||||
|
L. Peter Deutsch <ghost@aladdin.com> and
|
||||||
|
Glenn Randers-Pehrson <randeg@alumni.rpi.edu>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 10]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
7. Appendix: Jean-Loup Gailly's gzip utility
|
||||||
|
|
||||||
|
The most widely used implementation of gzip compression, and the
|
||||||
|
original documentation on which this specification is based, were
|
||||||
|
created by Jean-Loup Gailly <gzip@prep.ai.mit.edu>. Since this
|
||||||
|
implementation is a de facto standard, we mention some more of its
|
||||||
|
features here. Again, the material in this section is not part of
|
||||||
|
the specification per se, and implementations need not follow it to
|
||||||
|
be compliant.
|
||||||
|
|
||||||
|
When compressing or decompressing a file, gzip preserves the
|
||||||
|
protection, ownership, and modification time attributes on the local
|
||||||
|
file system, since there is no provision for representing protection
|
||||||
|
attributes in the gzip file format itself. Since the file format
|
||||||
|
includes a modification time, the gzip decompressor provides a
|
||||||
|
command line switch that assigns the modification time from the file,
|
||||||
|
rather than the local modification time of the compressed input, to
|
||||||
|
the decompressed output.
|
||||||
|
|
||||||
|
8. Appendix: Sample CRC Code
|
||||||
|
|
||||||
|
The following sample code represents a practical implementation of
|
||||||
|
the CRC (Cyclic Redundancy Check). (See also ISO 3309 and ITU-T V.42
|
||||||
|
for a formal specification.)
|
||||||
|
|
||||||
|
The sample code is in the ANSI C programming language. Non C users
|
||||||
|
may find it easier to read with these hints:
|
||||||
|
|
||||||
|
& Bitwise AND operator.
|
||||||
|
^ Bitwise exclusive-OR operator.
|
||||||
|
>> Bitwise right shift operator. When applied to an
|
||||||
|
unsigned quantity, as here, right shift inserts zero
|
||||||
|
bit(s) at the left.
|
||||||
|
! Logical NOT operator.
|
||||||
|
++ "n++" increments the variable n.
|
||||||
|
0xNNN 0x introduces a hexadecimal (base 16) constant.
|
||||||
|
Suffix L indicates a long value (at least 32 bits).
|
||||||
|
|
||||||
|
/* Table of CRCs of all 8-bit messages. */
|
||||||
|
unsigned long crc_table[256];
|
||||||
|
|
||||||
|
/* Flag: has the table been computed? Initially false. */
|
||||||
|
int crc_table_computed = 0;
|
||||||
|
|
||||||
|
/* Make the table for a fast CRC. */
|
||||||
|
void make_crc_table(void)
|
||||||
|
{
|
||||||
|
unsigned long c;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 11]
|
||||||
|
|
||||||
|
RFC 1952 GZIP File Format Specification May 1996
|
||||||
|
|
||||||
|
|
||||||
|
int n, k;
|
||||||
|
for (n = 0; n < 256; n++) {
|
||||||
|
c = (unsigned long) n;
|
||||||
|
for (k = 0; k < 8; k++) {
|
||||||
|
if (c & 1) {
|
||||||
|
c = 0xedb88320L ^ (c >> 1);
|
||||||
|
} else {
|
||||||
|
c = c >> 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
crc_table[n] = c;
|
||||||
|
}
|
||||||
|
crc_table_computed = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Update a running crc with the bytes buf[0..len-1] and return
|
||||||
|
the updated crc. The crc should be initialized to zero. Pre- and
|
||||||
|
post-conditioning (one's complement) is performed within this
|
||||||
|
function so it shouldn't be done by the caller. Usage example:
|
||||||
|
|
||||||
|
unsigned long crc = 0L;
|
||||||
|
|
||||||
|
while (read_buffer(buffer, length) != EOF) {
|
||||||
|
crc = update_crc(crc, buffer, length);
|
||||||
|
}
|
||||||
|
if (crc != original_crc) error();
|
||||||
|
*/
|
||||||
|
unsigned long update_crc(unsigned long crc,
|
||||||
|
unsigned char *buf, int len)
|
||||||
|
{
|
||||||
|
unsigned long c = crc ^ 0xffffffffL;
|
||||||
|
int n;
|
||||||
|
|
||||||
|
if (!crc_table_computed)
|
||||||
|
make_crc_table();
|
||||||
|
for (n = 0; n < len; n++) {
|
||||||
|
c = crc_table[(c ^ buf[n]) & 0xff] ^ (c >> 8);
|
||||||
|
}
|
||||||
|
return c ^ 0xffffffffL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return the CRC of the bytes buf[0..len-1]. */
|
||||||
|
unsigned long crc(unsigned char *buf, int len)
|
||||||
|
{
|
||||||
|
return update_crc(0L, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deutsch Informational [Page 12]
|
||||||
|
|
||||||
107
doc/txtvsbin.txt
Normal file
107
doc/txtvsbin.txt
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
A Fast Method for Identifying Plain Text Files
|
||||||
|
==============================================
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Given a file coming from an unknown source, it is sometimes desirable
|
||||||
|
to find out whether the format of that file is plain text. Although
|
||||||
|
this may appear like a simple task, a fully accurate detection of the
|
||||||
|
file type requires heavy-duty semantic analysis on the file contents.
|
||||||
|
It is, however, possible to obtain satisfactory results by employing
|
||||||
|
various heuristics.
|
||||||
|
|
||||||
|
Previous versions of PKZip and other zip-compatible compression tools
|
||||||
|
were using a crude detection scheme: if more than 80% (4/5) of the bytes
|
||||||
|
found in a certain buffer are within the range [7..127], the file is
|
||||||
|
labeled as plain text, otherwise it is labeled as binary. A prominent
|
||||||
|
limitation of this scheme is the restriction to Latin-based alphabets.
|
||||||
|
Other alphabets, like Greek, Cyrillic or Asian, make extensive use of
|
||||||
|
the bytes within the range [128..255], and texts using these alphabets
|
||||||
|
are most often misidentified by this scheme; in other words, the rate
|
||||||
|
of false negatives is sometimes too high, which means that the recall
|
||||||
|
is low. Another weakness of this scheme is a reduced precision, due to
|
||||||
|
the false positives that may occur when binary files containing large
|
||||||
|
amounts of textual characters are misidentified as plain text.
|
||||||
|
|
||||||
|
In this article we propose a new, simple detection scheme that features
|
||||||
|
a much increased precision and a near-100% recall. This scheme is
|
||||||
|
designed to work on ASCII, Unicode and other ASCII-derived alphabets,
|
||||||
|
and it handles single-byte encodings (ISO-8859, MacRoman, KOI8, etc.)
|
||||||
|
and variable-sized encodings (ISO-2022, UTF-8, etc.). Wider encodings
|
||||||
|
(UCS-2/UTF-16 and UCS-4/UTF-32) are not handled, however.
|
||||||
|
|
||||||
|
|
||||||
|
The Algorithm
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The algorithm works by dividing the set of bytecodes [0..255] into three
|
||||||
|
categories:
|
||||||
|
- The white list of textual bytecodes:
|
||||||
|
9 (TAB), 10 (LF), 13 (CR), 32 (SPACE) to 255.
|
||||||
|
- The gray list of tolerated bytecodes:
|
||||||
|
7 (BEL), 8 (BS), 11 (VT), 12 (FF), 26 (SUB), 27 (ESC).
|
||||||
|
- The black list of undesired, non-textual bytecodes:
|
||||||
|
0 (NUL) to 6, 14 to 31.
|
||||||
|
|
||||||
|
If a file contains at least one byte that belongs to the white list and
|
||||||
|
no byte that belongs to the black list, then the file is categorized as
|
||||||
|
plain text; otherwise, it is categorized as binary. (The boundary case,
|
||||||
|
when the file is empty, automatically falls into the latter category.)
|
||||||
|
|
||||||
|
|
||||||
|
Rationale
|
||||||
|
---------
|
||||||
|
|
||||||
|
The idea behind this algorithm relies on two observations.
|
||||||
|
|
||||||
|
The first observation is that, although the full range of 7-bit codes
|
||||||
|
[0..127] is properly specified by the ASCII standard, most control
|
||||||
|
characters in the range [0..31] are not used in practice. The only
|
||||||
|
widely-used, almost universally-portable control codes are 9 (TAB),
|
||||||
|
10 (LF) and 13 (CR). There are a few more control codes that are
|
||||||
|
recognized on a reduced range of platforms and text viewers/editors:
|
||||||
|
7 (BEL), 8 (BS), 11 (VT), 12 (FF), 26 (SUB) and 27 (ESC); but these
|
||||||
|
codes are rarely (if ever) used alone, without being accompanied by
|
||||||
|
some printable text. Even the newer, portable text formats such as
|
||||||
|
XML avoid using control characters outside the list mentioned here.
|
||||||
|
|
||||||
|
The second observation is that most of the binary files tend to contain
|
||||||
|
control characters, especially 0 (NUL). Even though the older text
|
||||||
|
detection schemes observe the presence of non-ASCII codes from the range
|
||||||
|
[128..255], the precision rarely has to suffer if this upper range is
|
||||||
|
labeled as textual, because the files that are genuinely binary tend to
|
||||||
|
contain both control characters and codes from the upper range. On the
|
||||||
|
other hand, the upper range needs to be labeled as textual, because it
|
||||||
|
is used by virtually all ASCII extensions. In particular, this range is
|
||||||
|
used for encoding non-Latin scripts.
|
||||||
|
|
||||||
|
Since there is no counting involved, other than simply observing the
|
||||||
|
presence or the absence of some byte values, the algorithm produces
|
||||||
|
consistent results, regardless what alphabet encoding is being used.
|
||||||
|
(If counting were involved, it could be possible to obtain different
|
||||||
|
results on a text encoded, say, using ISO-8859-16 versus UTF-8.)
|
||||||
|
|
||||||
|
There is an extra category of plain text files that are "polluted" with
|
||||||
|
one or more black-listed codes, either by mistake or by peculiar design
|
||||||
|
considerations. In such cases, a scheme that tolerates a small fraction
|
||||||
|
of black-listed codes would provide an increased recall (i.e. more true
|
||||||
|
positives). This, however, incurs a reduced precision overall, since
|
||||||
|
false positives are more likely to appear in binary files that contain
|
||||||
|
large chunks of textual data. Furthermore, "polluted" plain text should
|
||||||
|
be regarded as binary by general-purpose text detection schemes, because
|
||||||
|
general-purpose text processing algorithms might not be applicable.
|
||||||
|
Under this premise, it is safe to say that our detection method provides
|
||||||
|
a near-100% recall.
|
||||||
|
|
||||||
|
Experiments have been run on many files coming from various platforms
|
||||||
|
and applications. We tried plain text files, system logs, source code,
|
||||||
|
formatted office documents, compiled object code, etc. The results
|
||||||
|
confirm the optimistic assumptions about the capabilities of this
|
||||||
|
algorithm.
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
Cosmin Truta
|
||||||
|
Last updated: 2006-May-28
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
/* example.c -- usage example of the zlib compression library
|
/* example.c -- usage example of the zlib compression library
|
||||||
* Copyright (C) 1995-2004 Jean-loup Gailly.
|
* Copyright (C) 1995-2006 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* @(#) $Id$ */
|
/* @(#) $Id$ */
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "zlib.h"
|
#include "zlib.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
#ifdef STDC
|
#ifdef STDC
|
||||||
# include <string.h>
|
# include <string.h>
|
||||||
|
|||||||
@@ -35,3 +35,8 @@ zpipe.c
|
|||||||
reads and writes zlib streams from stdin to stdout
|
reads and writes zlib streams from stdin to stdout
|
||||||
- illustrates the proper use of deflate() and inflate()
|
- illustrates the proper use of deflate() and inflate()
|
||||||
- deeply commented in zlib_how.html (see above)
|
- deeply commented in zlib_how.html (see above)
|
||||||
|
|
||||||
|
zran.c
|
||||||
|
index a zlib or gzip stream and randomly access it
|
||||||
|
- illustrates the use of Z_BLOCK, inflatePrime(), and
|
||||||
|
inflateSetDictionary() to provide random access
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ local void quit(char *why)
|
|||||||
local int partcompress(FILE *in, z_streamp def)
|
local int partcompress(FILE *in, z_streamp def)
|
||||||
{
|
{
|
||||||
int ret, flush;
|
int ret, flush;
|
||||||
char raw[RAWLEN];
|
unsigned char raw[RAWLEN];
|
||||||
|
|
||||||
flush = Z_NO_FLUSH;
|
flush = Z_NO_FLUSH;
|
||||||
do {
|
do {
|
||||||
@@ -96,7 +96,7 @@ local int partcompress(FILE *in, z_streamp def)
|
|||||||
local int recompress(z_streamp inf, z_streamp def)
|
local int recompress(z_streamp inf, z_streamp def)
|
||||||
{
|
{
|
||||||
int ret, flush;
|
int ret, flush;
|
||||||
char raw[RAWLEN];
|
unsigned char raw[RAWLEN];
|
||||||
|
|
||||||
flush = Z_NO_FLUSH;
|
flush = Z_NO_FLUSH;
|
||||||
do {
|
do {
|
||||||
@@ -129,8 +129,8 @@ int main(int argc, char **argv)
|
|||||||
int ret; /* return code */
|
int ret; /* return code */
|
||||||
unsigned size; /* requested fixed output block size */
|
unsigned size; /* requested fixed output block size */
|
||||||
unsigned have; /* bytes written by deflate() call */
|
unsigned have; /* bytes written by deflate() call */
|
||||||
char *blk; /* intermediate and final stream */
|
unsigned char *blk; /* intermediate and final stream */
|
||||||
char *tmp; /* close to desired size stream */
|
unsigned char *tmp; /* close to desired size stream */
|
||||||
z_stream def, inf; /* zlib deflate and inflate states */
|
z_stream def, inf; /* zlib deflate and inflate states */
|
||||||
|
|
||||||
/* get requested output size */
|
/* get requested output size */
|
||||||
@@ -163,8 +163,7 @@ int main(int argc, char **argv)
|
|||||||
if (ret == Z_STREAM_END && def.avail_out >= EXCESS) {
|
if (ret == Z_STREAM_END && def.avail_out >= EXCESS) {
|
||||||
/* write block to stdout */
|
/* write block to stdout */
|
||||||
have = size + EXCESS - def.avail_out;
|
have = size + EXCESS - def.avail_out;
|
||||||
ret = fwrite(blk, 1, have, stdout);
|
if (fwrite(blk, 1, have, stdout) != have || ferror(stdout))
|
||||||
if (ret != have || ferror(stdout))
|
|
||||||
quit("error writing output");
|
quit("error writing output");
|
||||||
|
|
||||||
/* clean up and print results to stderr */
|
/* clean up and print results to stderr */
|
||||||
@@ -217,8 +216,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
/* done -- write block to stdout */
|
/* done -- write block to stdout */
|
||||||
have = size - def.avail_out;
|
have = size - def.avail_out;
|
||||||
ret = fwrite(blk, 1, have, stdout);
|
if (fwrite(blk, 1, have, stdout) != have || ferror(stdout))
|
||||||
if (ret != have || ferror(stdout))
|
|
||||||
quit("error writing output");
|
quit("error writing output");
|
||||||
|
|
||||||
/* clean up and print results to stderr */
|
/* clean up and print results to stderr */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* gun.c -- simple gunzip to give an example of the use of inflateBack()
|
/* gun.c -- simple gunzip to give an example of the use of inflateBack()
|
||||||
* Copyright (C) 2003, 2005 Mark Adler
|
* Copyright (C) 2003, 2005 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
|
||||||
Version 1.2 20 March 2005 Mark Adler */
|
Version 1.3 12 June 2005 Mark Adler */
|
||||||
|
|
||||||
/* Version history:
|
/* Version history:
|
||||||
1.0 16 Feb 2003 First version for testing of inflateBack()
|
1.0 16 Feb 2003 First version for testing of inflateBack()
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
Add a bunch of comments
|
Add a bunch of comments
|
||||||
1.2 20 Mar 2005 Add Unix compress (LZW) decompression
|
1.2 20 Mar 2005 Add Unix compress (LZW) decompression
|
||||||
Copy file attributes from input file to output file
|
Copy file attributes from input file to output file
|
||||||
|
1.3 12 Jun 2005 Add casts for error messages [Oberhumer]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -221,12 +222,12 @@ local int lunpipe(unsigned have, unsigned char *next, struct ind *indp,
|
|||||||
if (last == -1)
|
if (last == -1)
|
||||||
return Z_BUF_ERROR;
|
return Z_BUF_ERROR;
|
||||||
if (flags & 0x60) {
|
if (flags & 0x60) {
|
||||||
strm->msg = "unknown lzw flags set";
|
strm->msg = (char *)"unknown lzw flags set";
|
||||||
return Z_DATA_ERROR;
|
return Z_DATA_ERROR;
|
||||||
}
|
}
|
||||||
max = flags & 0x1f;
|
max = flags & 0x1f;
|
||||||
if (max < 9 || max > 16) {
|
if (max < 9 || max > 16) {
|
||||||
strm->msg = "lzw bits out of range";
|
strm->msg = (char *)"lzw bits out of range";
|
||||||
return Z_DATA_ERROR;
|
return Z_DATA_ERROR;
|
||||||
}
|
}
|
||||||
if (max == 9) /* 9 doesn't really mean 9 */
|
if (max == 9) /* 9 doesn't really mean 9 */
|
||||||
@@ -246,7 +247,7 @@ local int lunpipe(unsigned have, unsigned char *next, struct ind *indp,
|
|||||||
if (NEXT() == -1) /* missing a bit */
|
if (NEXT() == -1) /* missing a bit */
|
||||||
return Z_BUF_ERROR;
|
return Z_BUF_ERROR;
|
||||||
if (last & 1) { /* code must be < 256 */
|
if (last & 1) { /* code must be < 256 */
|
||||||
strm->msg = "invalid lzw code";
|
strm->msg = (char *)"invalid lzw code";
|
||||||
return Z_DATA_ERROR;
|
return Z_DATA_ERROR;
|
||||||
}
|
}
|
||||||
rem = (unsigned)last >> 1; /* remaining 7 bits */
|
rem = (unsigned)last >> 1; /* remaining 7 bits */
|
||||||
@@ -313,7 +314,7 @@ local int lunpipe(unsigned have, unsigned char *next, struct ind *indp,
|
|||||||
to detect random or corrupted input after a compress header.
|
to detect random or corrupted input after a compress header.
|
||||||
In any case, the prev > end check must be retained. */
|
In any case, the prev > end check must be retained. */
|
||||||
if (code != end + 1 || prev > end) {
|
if (code != end + 1 || prev > end) {
|
||||||
strm->msg = "invalid lzw code";
|
strm->msg = (char *)"invalid lzw code";
|
||||||
return Z_DATA_ERROR;
|
return Z_DATA_ERROR;
|
||||||
}
|
}
|
||||||
match[stack++] = (unsigned char)final;
|
match[stack++] = (unsigned char)final;
|
||||||
@@ -394,7 +395,7 @@ local int gunpipe(z_stream *strm, int infile, int outfile)
|
|||||||
break; /* empty gzip stream is ok */
|
break; /* empty gzip stream is ok */
|
||||||
}
|
}
|
||||||
if (last != 31 || (NEXT() != 139 && last != 157)) {
|
if (last != 31 || (NEXT() != 139 && last != 157)) {
|
||||||
strm->msg = "incorrect header check";
|
strm->msg = (char *)"incorrect header check";
|
||||||
ret = first ? Z_DATA_ERROR : Z_ERRNO;
|
ret = first ? Z_DATA_ERROR : Z_ERRNO;
|
||||||
break; /* not a gzip or compress header */
|
break; /* not a gzip or compress header */
|
||||||
}
|
}
|
||||||
@@ -410,7 +411,7 @@ local int gunpipe(z_stream *strm, int infile, int outfile)
|
|||||||
ret = Z_BUF_ERROR;
|
ret = Z_BUF_ERROR;
|
||||||
if (NEXT() != 8) { /* only deflate method allowed */
|
if (NEXT() != 8) { /* only deflate method allowed */
|
||||||
if (last == -1) break;
|
if (last == -1) break;
|
||||||
strm->msg = "unknown compression method";
|
strm->msg = (char *)"unknown compression method";
|
||||||
ret = Z_DATA_ERROR;
|
ret = Z_DATA_ERROR;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -423,7 +424,7 @@ local int gunpipe(z_stream *strm, int infile, int outfile)
|
|||||||
NEXT();
|
NEXT();
|
||||||
if (last == -1) break;
|
if (last == -1) break;
|
||||||
if (flags & 0xe0) {
|
if (flags & 0xe0) {
|
||||||
strm->msg = "unknown header flags set";
|
strm->msg = (char *)"unknown header flags set";
|
||||||
ret = Z_DATA_ERROR;
|
ret = Z_DATA_ERROR;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -476,7 +477,7 @@ local int gunpipe(z_stream *strm, int infile, int outfile)
|
|||||||
NEXT() != ((outd.crc >> 24) & 0xff)) {
|
NEXT() != ((outd.crc >> 24) & 0xff)) {
|
||||||
/* crc error */
|
/* crc error */
|
||||||
if (last != -1) {
|
if (last != -1) {
|
||||||
strm->msg = "incorrect data check";
|
strm->msg = (char *)"incorrect data check";
|
||||||
ret = Z_DATA_ERROR;
|
ret = Z_DATA_ERROR;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -487,7 +488,7 @@ local int gunpipe(z_stream *strm, int infile, int outfile)
|
|||||||
NEXT() != ((outd.total >> 24) & 0xff)) {
|
NEXT() != ((outd.total >> 24) & 0xff)) {
|
||||||
/* length error */
|
/* length error */
|
||||||
if (last != -1) {
|
if (last != -1) {
|
||||||
strm->msg = "incorrect length check";
|
strm->msg = (char *)"incorrect length check";
|
||||||
ret = Z_DATA_ERROR;
|
ret = Z_DATA_ERROR;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -641,7 +642,7 @@ int main(int argc, char **argv)
|
|||||||
argv++;
|
argv++;
|
||||||
test = 0;
|
test = 0;
|
||||||
if (argc && strcmp(*argv, "-h") == 0) {
|
if (argc && strcmp(*argv, "-h") == 0) {
|
||||||
fprintf(stderr, "gun 1.2 (20 Mar 2005)\n");
|
fprintf(stderr, "gun 1.3 (12 Jun 2005)\n");
|
||||||
fprintf(stderr, "Copyright (c) 2005 Mark Adler\n");
|
fprintf(stderr, "Copyright (c) 2005 Mark Adler\n");
|
||||||
fprintf(stderr, "usage: gun [-t] [file1.gz [file2.Z ...]]\n");
|
fprintf(stderr, "usage: gun [-t] [file1.gz [file2.Z ...]]\n");
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
* Change history:
|
* Change history:
|
||||||
*
|
*
|
||||||
* 1.0 11 Dec 2004 - First version
|
* 1.0 11 Dec 2004 - First version
|
||||||
|
* 1.1 12 Jun 2005 - Changed ssize_t to long for portability
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -118,7 +119,7 @@ local bin *bopen(char *name)
|
|||||||
1 indicating that end-of-file was reached */
|
1 indicating that end-of-file was reached */
|
||||||
local int bload(bin *in)
|
local int bload(bin *in)
|
||||||
{
|
{
|
||||||
ssize_t len;
|
long len;
|
||||||
|
|
||||||
if (in == NULL)
|
if (in == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
@@ -126,7 +127,7 @@ local int bload(bin *in)
|
|||||||
return 0;
|
return 0;
|
||||||
in->next = in->buf;
|
in->next = in->buf;
|
||||||
do {
|
do {
|
||||||
len = read(in->fd, in->buf + in->left, CHUNK - in->left);
|
len = (long)read(in->fd, in->buf + in->left, CHUNK - in->left);
|
||||||
if (len < 0)
|
if (len < 0)
|
||||||
return -1;
|
return -1;
|
||||||
in->left += (unsigned)len;
|
in->left += (unsigned)len;
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ int gzlog_write(void *obj, char *data, size_t len)
|
|||||||
some = len;
|
some = len;
|
||||||
if (write(log->fd, data, some) != some)
|
if (write(log->fd, data, some) != some)
|
||||||
return 1;
|
return 1;
|
||||||
log->crc = crc32(log->crc, data, some);
|
log->crc = crc32(log->crc, (unsigned char *)data, some);
|
||||||
log->len += some;
|
log->len += some;
|
||||||
len -= some;
|
len -= some;
|
||||||
data += some;
|
data += some;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||||
<title>zlib Usage Example</title>
|
<title>zlib Usage Example</title>
|
||||||
<!-- Copyright (c) 2004 Mark Adler. -->
|
<!-- Copyright (c) 2004, 2005 Mark Adler. -->
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#00A000">
|
<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#00A000">
|
||||||
<h2 align="center"> zlib Usage Example </h2>
|
<h2 align="center"> zlib Usage Example </h2>
|
||||||
@@ -21,13 +21,16 @@ Without further adieu, here is the program <a href="zpipe.c"><tt>zpipe.c</tt></a
|
|||||||
<pre><b>
|
<pre><b>
|
||||||
/* zpipe.c: example of proper use of zlib's inflate() and deflate()
|
/* zpipe.c: example of proper use of zlib's inflate() and deflate()
|
||||||
Not copyrighted -- provided to the public domain
|
Not copyrighted -- provided to the public domain
|
||||||
Version 1.2 9 November 2004 Mark Adler */
|
Version 1.4 11 December 2005 Mark Adler */
|
||||||
|
|
||||||
/* Version history:
|
/* Version history:
|
||||||
1.0 30 Oct 2004 First version
|
1.0 30 Oct 2004 First version
|
||||||
1.1 8 Nov 2004 Add void casting for unused return values
|
1.1 8 Nov 2004 Add void casting for unused return values
|
||||||
Use switch statement for inflate() return values
|
Use switch statement for inflate() return values
|
||||||
1.2 9 Nov 2004 Add assertions to document zlib guarantees
|
1.2 9 Nov 2004 Add assertions to document zlib guarantees
|
||||||
|
1.3 6 Apr 2005 Remove incorrect assertion in inf()
|
||||||
|
1.4 11 Dec 2005 Add hack to avoid MSDOS end-of-line conversions
|
||||||
|
Avoid some compiler warnings for input and output buffers
|
||||||
*/
|
*/
|
||||||
</b></pre><!-- -->
|
</b></pre><!-- -->
|
||||||
We now include the header files for the required definitions. From
|
We now include the header files for the required definitions. From
|
||||||
@@ -47,6 +50,21 @@ functions <tt>inflateInit()</tt>, <tt>inflate()</tt>, and
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include "zlib.h"
|
#include "zlib.h"
|
||||||
</b></pre><!-- -->
|
</b></pre><!-- -->
|
||||||
|
This is an ugly hack required to avoid corruption of the input and output data on
|
||||||
|
Windows/MS-DOS systems. Without this, those systems would assume that the input and output
|
||||||
|
files are text, and try to convert the end-of-line characters from one standard to
|
||||||
|
another. That would corrupt binary data, and in particular would render the compressed data unusable.
|
||||||
|
This sets the input and output to binary which suppresses the end-of-line conversions.
|
||||||
|
<tt>SET_BINARY_MODE()</tt> will be used later on <tt>stdin</tt> and <tt>stdout</tt>, at the beginning of <tt>main()</tt>.
|
||||||
|
<pre><b>
|
||||||
|
#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__)
|
||||||
|
# include <fcntl.h>
|
||||||
|
# include <io.h>
|
||||||
|
# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
|
||||||
|
#else
|
||||||
|
# define SET_BINARY_MODE(file)
|
||||||
|
#endif
|
||||||
|
</b></pre><!-- -->
|
||||||
<tt>CHUNK</tt> is simply the buffer size for feeding data to and pulling data
|
<tt>CHUNK</tt> is simply the buffer size for feeding data to and pulling data
|
||||||
from the <em>zlib</em> routines. Larger buffer sizes would be more efficient,
|
from the <em>zlib</em> routines. Larger buffer sizes would be more efficient,
|
||||||
especially for <tt>inflate()</tt>. If the memory is available, buffers sizes
|
especially for <tt>inflate()</tt>. If the memory is available, buffers sizes
|
||||||
@@ -80,8 +98,8 @@ is used to pass information to and from the <em>zlib</em> routines, and to maint
|
|||||||
int ret, flush;
|
int ret, flush;
|
||||||
unsigned have;
|
unsigned have;
|
||||||
z_stream strm;
|
z_stream strm;
|
||||||
char in[CHUNK];
|
unsigned char in[CHUNK];
|
||||||
char out[CHUNK];
|
unsigned char out[CHUNK];
|
||||||
</b></pre><!-- -->
|
</b></pre><!-- -->
|
||||||
The first thing we do is to initialize the <em>zlib</em> state for compression using
|
The first thing we do is to initialize the <em>zlib</em> state for compression using
|
||||||
<tt>deflateInit()</tt>. This must be done before the first use of <tt>deflate()</tt>.
|
<tt>deflateInit()</tt>. This must be done before the first use of <tt>deflate()</tt>.
|
||||||
@@ -313,8 +331,8 @@ can tell from the <em>zlib</em> stream itself when the stream is complete.
|
|||||||
int ret;
|
int ret;
|
||||||
unsigned have;
|
unsigned have;
|
||||||
z_stream strm;
|
z_stream strm;
|
||||||
char in[CHUNK];
|
unsigned char in[CHUNK];
|
||||||
char out[CHUNK];
|
unsigned char out[CHUNK];
|
||||||
</b></pre><!-- -->
|
</b></pre><!-- -->
|
||||||
The initialization of the state is the same, except that there is no compression level,
|
The initialization of the state is the same, except that there is no compression level,
|
||||||
of course, and two more elements of the structure are initialized. <tt>avail_in</tt>
|
of course, and two more elements of the structure are initialized. <tt>avail_in</tt>
|
||||||
@@ -494,6 +512,10 @@ int main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
/* avoid end-of-line conversions */
|
||||||
|
SET_BINARY_MODE(stdin);
|
||||||
|
SET_BINARY_MODE(stdout);
|
||||||
|
|
||||||
/* do compression if no arguments */
|
/* do compression if no arguments */
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
ret = def(stdin, stdout, Z_DEFAULT_COMPRESSION);
|
ret = def(stdin, stdout, Z_DEFAULT_COMPRESSION);
|
||||||
@@ -518,6 +540,6 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
</b></pre>
|
</b></pre>
|
||||||
<hr>
|
<hr>
|
||||||
<i>Copyright (c) 2004 by Mark Adler<br>Last modified 13 November 2004</i>
|
<i>Copyright (c) 2004, 2005 by Mark Adler<br>Last modified 11 December 2005</i>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* zpipe.c: example of proper use of zlib's inflate() and deflate()
|
/* zpipe.c: example of proper use of zlib's inflate() and deflate()
|
||||||
Not copyrighted -- provided to the public domain
|
Not copyrighted -- provided to the public domain
|
||||||
Version 1.2 9 November 2004 Mark Adler */
|
Version 1.4 11 December 2005 Mark Adler */
|
||||||
|
|
||||||
/* Version history:
|
/* Version history:
|
||||||
1.0 30 Oct 2004 First version
|
1.0 30 Oct 2004 First version
|
||||||
@@ -8,6 +8,8 @@
|
|||||||
Use switch statement for inflate() return values
|
Use switch statement for inflate() return values
|
||||||
1.2 9 Nov 2004 Add assertions to document zlib guarantees
|
1.2 9 Nov 2004 Add assertions to document zlib guarantees
|
||||||
1.3 6 Apr 2005 Remove incorrect assertion in inf()
|
1.3 6 Apr 2005 Remove incorrect assertion in inf()
|
||||||
|
1.4 11 Dec 2005 Add hack to avoid MSDOS end-of-line conversions
|
||||||
|
Avoid some compiler warnings for input and output buffers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -15,6 +17,14 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include "zlib.h"
|
#include "zlib.h"
|
||||||
|
|
||||||
|
#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__)
|
||||||
|
# include <fcntl.h>
|
||||||
|
# include <io.h>
|
||||||
|
# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
|
||||||
|
#else
|
||||||
|
# define SET_BINARY_MODE(file)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CHUNK 16384
|
#define CHUNK 16384
|
||||||
|
|
||||||
/* Compress from file source to file dest until EOF on source.
|
/* Compress from file source to file dest until EOF on source.
|
||||||
@@ -28,8 +38,8 @@ int def(FILE *source, FILE *dest, int level)
|
|||||||
int ret, flush;
|
int ret, flush;
|
||||||
unsigned have;
|
unsigned have;
|
||||||
z_stream strm;
|
z_stream strm;
|
||||||
char in[CHUNK];
|
unsigned char in[CHUNK];
|
||||||
char out[CHUNK];
|
unsigned char out[CHUNK];
|
||||||
|
|
||||||
/* allocate deflate state */
|
/* allocate deflate state */
|
||||||
strm.zalloc = Z_NULL;
|
strm.zalloc = Z_NULL;
|
||||||
@@ -84,8 +94,8 @@ int inf(FILE *source, FILE *dest)
|
|||||||
int ret;
|
int ret;
|
||||||
unsigned have;
|
unsigned have;
|
||||||
z_stream strm;
|
z_stream strm;
|
||||||
char in[CHUNK];
|
unsigned char in[CHUNK];
|
||||||
char out[CHUNK];
|
unsigned char out[CHUNK];
|
||||||
|
|
||||||
/* allocate inflate state */
|
/* allocate inflate state */
|
||||||
strm.zalloc = Z_NULL;
|
strm.zalloc = Z_NULL;
|
||||||
@@ -167,6 +177,10 @@ int main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
/* avoid end-of-line conversions */
|
||||||
|
SET_BINARY_MODE(stdin);
|
||||||
|
SET_BINARY_MODE(stdout);
|
||||||
|
|
||||||
/* do compression if no arguments */
|
/* do compression if no arguments */
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
ret = def(stdin, stdout, Z_DEFAULT_COMPRESSION);
|
ret = def(stdin, stdout, Z_DEFAULT_COMPRESSION);
|
||||||
|
|||||||
404
examples/zran.c
Normal file
404
examples/zran.c
Normal file
@@ -0,0 +1,404 @@
|
|||||||
|
/* zran.c -- example of zlib/gzip stream indexing and random access
|
||||||
|
* Copyright (C) 2005 Mark Adler
|
||||||
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
|
Version 1.0 29 May 2005 Mark Adler */
|
||||||
|
|
||||||
|
/* Illustrate the use of Z_BLOCK, inflatePrime(), and inflateSetDictionary()
|
||||||
|
for random access of a compressed file. A file containing a zlib or gzip
|
||||||
|
stream is provided on the command line. The compressed stream is decoded in
|
||||||
|
its entirety, and an index built with access points about every SPAN bytes
|
||||||
|
in the uncompressed output. The compressed file is left open, and can then
|
||||||
|
be read randomly, having to decompress on the average SPAN/2 uncompressed
|
||||||
|
bytes before getting to the desired block of data.
|
||||||
|
|
||||||
|
An access point can be created at the start of any deflate block, by saving
|
||||||
|
the starting file offset and bit of that block, and the 32K bytes of
|
||||||
|
uncompressed data that precede that block. Also the uncompressed offset of
|
||||||
|
that block is saved to provide a referece for locating a desired starting
|
||||||
|
point in the uncompressed stream. build_index() works by decompressing the
|
||||||
|
input zlib or gzip stream a block at a time, and at the end of each block
|
||||||
|
deciding if enough uncompressed data has gone by to justify the creation of
|
||||||
|
a new access point. If so, that point is saved in a data structure that
|
||||||
|
grows as needed to accommodate the points.
|
||||||
|
|
||||||
|
To use the index, an offset in the uncompressed data is provided, for which
|
||||||
|
the latest accees point at or preceding that offset is located in the index.
|
||||||
|
The input file is positioned to the specified location in the index, and if
|
||||||
|
necessary the first few bits of the compressed data is read from the file.
|
||||||
|
inflate is initialized with those bits and the 32K of uncompressed data, and
|
||||||
|
the decompression then proceeds until the desired offset in the file is
|
||||||
|
reached. Then the decompression continues to read the desired uncompressed
|
||||||
|
data from the file.
|
||||||
|
|
||||||
|
Another approach would be to generate the index on demand. In that case,
|
||||||
|
requests for random access reads from the compressed data would try to use
|
||||||
|
the index, but if a read far enough past the end of the index is required,
|
||||||
|
then further index entries would be generated and added.
|
||||||
|
|
||||||
|
There is some fair bit of overhead to starting inflation for the random
|
||||||
|
access, mainly copying the 32K byte dictionary. So if small pieces of the
|
||||||
|
file are being accessed, it would make sense to implement a cache to hold
|
||||||
|
some lookahead and avoid many calls to extract() for small lengths.
|
||||||
|
|
||||||
|
Another way to build an index would be to use inflateCopy(). That would
|
||||||
|
not be constrained to have access points at block boundaries, but requires
|
||||||
|
more memory per access point, and also cannot be saved to file due to the
|
||||||
|
use of pointers in the state. The approach here allows for storage of the
|
||||||
|
index in a file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "zlib.h"
|
||||||
|
|
||||||
|
#define local static
|
||||||
|
|
||||||
|
#define SPAN 1048576L /* desired distance between access points */
|
||||||
|
#define WINSIZE 32768U /* sliding window size */
|
||||||
|
#define CHUNK 16384 /* file input buffer size */
|
||||||
|
|
||||||
|
/* access point entry */
|
||||||
|
struct point {
|
||||||
|
off_t out; /* corresponding offset in uncompressed data */
|
||||||
|
off_t in; /* offset in input file of first full byte */
|
||||||
|
int bits; /* number of bits (1-7) from byte at in - 1, or 0 */
|
||||||
|
unsigned char window[WINSIZE]; /* preceding 32K of uncompressed data */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* access point list */
|
||||||
|
struct access {
|
||||||
|
int have; /* number of list entries filled in */
|
||||||
|
int size; /* number of list entries allocated */
|
||||||
|
struct point *list; /* allocated list */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Deallocate an index built by build_index() */
|
||||||
|
local void free_index(struct access *index)
|
||||||
|
{
|
||||||
|
if (index != NULL) {
|
||||||
|
free(index->list);
|
||||||
|
free(index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add an entry to the access point list. If out of memory, deallocate the
|
||||||
|
existing list and return NULL. */
|
||||||
|
local struct access *addpoint(struct access *index, int bits,
|
||||||
|
off_t in, off_t out, unsigned left, unsigned char *window)
|
||||||
|
{
|
||||||
|
struct point *next;
|
||||||
|
|
||||||
|
/* if list is empty, create it (start with eight points) */
|
||||||
|
if (index == NULL) {
|
||||||
|
index = malloc(sizeof(struct access));
|
||||||
|
if (index == NULL) return NULL;
|
||||||
|
index->list = malloc(sizeof(struct point) << 3);
|
||||||
|
if (index->list == NULL) {
|
||||||
|
free(index);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
index->size = 8;
|
||||||
|
index->have = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* if list is full, make it bigger */
|
||||||
|
else if (index->have == index->size) {
|
||||||
|
index->size <<= 1;
|
||||||
|
next = realloc(index->list, sizeof(struct point) * index->size);
|
||||||
|
if (next == NULL) {
|
||||||
|
free_index(index);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
index->list = next;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* fill in entry and increment how many we have */
|
||||||
|
next = index->list + index->have;
|
||||||
|
next->bits = bits;
|
||||||
|
next->in = in;
|
||||||
|
next->out = out;
|
||||||
|
if (left)
|
||||||
|
memcpy(next->window, window + WINSIZE - left, left);
|
||||||
|
if (left < WINSIZE)
|
||||||
|
memcpy(next->window + left, window, WINSIZE - left);
|
||||||
|
index->have++;
|
||||||
|
|
||||||
|
/* return list, possibly reallocated */
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Make one entire pass through the compressed stream and build an index, with
|
||||||
|
access points about every span bytes of uncompressed output -- span is
|
||||||
|
chosen to balance the speed of random access against the memory requirements
|
||||||
|
of the list, about 32K bytes per access point. Note that data after the end
|
||||||
|
of the first zlib or gzip stream in the file is ignored. build_index()
|
||||||
|
returns the number of access points on success (>= 1), Z_MEM_ERROR for out
|
||||||
|
of memory, Z_DATA_ERROR for an error in the input file, or Z_ERRNO for a
|
||||||
|
file read error. On success, *built points to the resulting index. */
|
||||||
|
local int build_index(FILE *in, off_t span, struct access **built)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
off_t totin, totout; /* our own total counters to avoid 4GB limit */
|
||||||
|
off_t last; /* totout value of last access point */
|
||||||
|
struct access *index; /* access points being generated */
|
||||||
|
z_stream strm;
|
||||||
|
unsigned char input[CHUNK];
|
||||||
|
unsigned char window[WINSIZE];
|
||||||
|
|
||||||
|
/* initialize inflate */
|
||||||
|
strm.zalloc = Z_NULL;
|
||||||
|
strm.zfree = Z_NULL;
|
||||||
|
strm.opaque = Z_NULL;
|
||||||
|
strm.avail_in = 0;
|
||||||
|
strm.next_in = Z_NULL;
|
||||||
|
ret = inflateInit2(&strm, 47); /* automatic zlib or gzip decoding */
|
||||||
|
if (ret != Z_OK)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
/* inflate the input, maintain a sliding window, and build an index -- this
|
||||||
|
also validates the integrity of the compressed data using the check
|
||||||
|
information at the end of the gzip or zlib stream */
|
||||||
|
totin = totout = last = 0;
|
||||||
|
index = NULL; /* will be allocated by first addpoint() */
|
||||||
|
strm.avail_out = 0;
|
||||||
|
do {
|
||||||
|
/* get some compressed data from input file */
|
||||||
|
strm.avail_in = fread(input, 1, CHUNK, in);
|
||||||
|
if (ferror(in)) {
|
||||||
|
ret = Z_ERRNO;
|
||||||
|
goto build_index_error;
|
||||||
|
}
|
||||||
|
if (strm.avail_in == 0) {
|
||||||
|
ret = Z_DATA_ERROR;
|
||||||
|
goto build_index_error;
|
||||||
|
}
|
||||||
|
strm.next_in = input;
|
||||||
|
|
||||||
|
/* process all of that, or until end of stream */
|
||||||
|
do {
|
||||||
|
/* reset sliding window if necessary */
|
||||||
|
if (strm.avail_out == 0) {
|
||||||
|
strm.avail_out = WINSIZE;
|
||||||
|
strm.next_out = window;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* inflate until out of input, output, or at end of block --
|
||||||
|
update the total input and output counters */
|
||||||
|
totin += strm.avail_in;
|
||||||
|
totout += strm.avail_out;
|
||||||
|
ret = inflate(&strm, Z_BLOCK); /* return at end of block */
|
||||||
|
totin -= strm.avail_in;
|
||||||
|
totout -= strm.avail_out;
|
||||||
|
if (ret == Z_NEED_DICT)
|
||||||
|
ret = Z_DATA_ERROR;
|
||||||
|
if (ret == Z_MEM_ERROR || ret == Z_DATA_ERROR)
|
||||||
|
goto build_index_error;
|
||||||
|
if (ret == Z_STREAM_END)
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* if at end of block, consider adding an index entry (note that if
|
||||||
|
data_type indicates an end-of-block, then all of the
|
||||||
|
uncompressed data from that block has been delivered, and none
|
||||||
|
of the compressed data after that block has been consumed,
|
||||||
|
except for up to seven bits) -- the totout == 0 provides an
|
||||||
|
entry point after the zlib or gzip header, and assures that the
|
||||||
|
index always has at least one access point; we avoid creating an
|
||||||
|
access point after the last block by checking bit 6 of data_type
|
||||||
|
*/
|
||||||
|
if ((strm.data_type & 128) && !(strm.data_type & 64) &&
|
||||||
|
(totout == 0 || totout - last > span)) {
|
||||||
|
index = addpoint(index, strm.data_type & 7, totin,
|
||||||
|
totout, strm.avail_out, window);
|
||||||
|
if (index == NULL) {
|
||||||
|
ret = Z_MEM_ERROR;
|
||||||
|
goto build_index_error;
|
||||||
|
}
|
||||||
|
last = totout;
|
||||||
|
}
|
||||||
|
} while (strm.avail_in != 0);
|
||||||
|
} while (ret != Z_STREAM_END);
|
||||||
|
|
||||||
|
/* clean up and return index (release unused entries in list) */
|
||||||
|
(void)inflateEnd(&strm);
|
||||||
|
index = realloc(index, sizeof(struct point) * index->have);
|
||||||
|
index->size = index->have;
|
||||||
|
*built = index;
|
||||||
|
return index->size;
|
||||||
|
|
||||||
|
/* return error */
|
||||||
|
build_index_error:
|
||||||
|
(void)inflateEnd(&strm);
|
||||||
|
if (index != NULL)
|
||||||
|
free_index(index);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Use the index to read len bytes from offset into buf, return bytes read or
|
||||||
|
negative for error (Z_DATA_ERROR or Z_MEM_ERROR). If data is requested past
|
||||||
|
the end of the uncompressed data, then extract() will return a value less
|
||||||
|
than len, indicating how much as actually read into buf. This function
|
||||||
|
should not return a data error unless the file was modified since the index
|
||||||
|
was generated. extract() may also return Z_ERRNO if there is an error on
|
||||||
|
reading or seeking the input file. */
|
||||||
|
local int extract(FILE *in, struct access *index, off_t offset,
|
||||||
|
unsigned char *buf, int len)
|
||||||
|
{
|
||||||
|
int ret, skip;
|
||||||
|
z_stream strm;
|
||||||
|
struct point *here;
|
||||||
|
unsigned char input[CHUNK];
|
||||||
|
unsigned char discard[WINSIZE];
|
||||||
|
|
||||||
|
/* proceed only if something reasonable to do */
|
||||||
|
if (len < 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
/* find where in stream to start */
|
||||||
|
here = index->list;
|
||||||
|
ret = index->have;
|
||||||
|
while (--ret && here[1].out <= offset)
|
||||||
|
here++;
|
||||||
|
|
||||||
|
/* initialize file and inflate state to start there */
|
||||||
|
strm.zalloc = Z_NULL;
|
||||||
|
strm.zfree = Z_NULL;
|
||||||
|
strm.opaque = Z_NULL;
|
||||||
|
strm.avail_in = 0;
|
||||||
|
strm.next_in = Z_NULL;
|
||||||
|
ret = inflateInit2(&strm, -15); /* raw inflate */
|
||||||
|
if (ret != Z_OK)
|
||||||
|
return ret;
|
||||||
|
ret = fseeko(in, here->in - (here->bits ? 1 : 0), SEEK_SET);
|
||||||
|
if (ret == -1)
|
||||||
|
goto extract_ret;
|
||||||
|
if (here->bits) {
|
||||||
|
ret = getc(in);
|
||||||
|
if (ret == -1) {
|
||||||
|
ret = ferror(in) ? Z_ERRNO : Z_DATA_ERROR;
|
||||||
|
goto extract_ret;
|
||||||
|
}
|
||||||
|
(void)inflatePrime(&strm, here->bits, ret >> (8 - here->bits));
|
||||||
|
}
|
||||||
|
(void)inflateSetDictionary(&strm, here->window, WINSIZE);
|
||||||
|
|
||||||
|
/* skip uncompressed bytes until offset reached, then satisfy request */
|
||||||
|
offset -= here->out;
|
||||||
|
strm.avail_in = 0;
|
||||||
|
skip = 1; /* while skipping to offset */
|
||||||
|
do {
|
||||||
|
/* define where to put uncompressed data, and how much */
|
||||||
|
if (offset == 0 && skip) { /* at offset now */
|
||||||
|
strm.avail_out = len;
|
||||||
|
strm.next_out = buf;
|
||||||
|
skip = 0; /* only do this once */
|
||||||
|
}
|
||||||
|
if (offset > WINSIZE) { /* skip WINSIZE bytes */
|
||||||
|
strm.avail_out = WINSIZE;
|
||||||
|
strm.next_out = discard;
|
||||||
|
offset -= WINSIZE;
|
||||||
|
}
|
||||||
|
else if (offset != 0) { /* last skip */
|
||||||
|
strm.avail_out = (unsigned)offset;
|
||||||
|
strm.next_out = discard;
|
||||||
|
offset = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* uncompress until avail_out filled, or end of stream */
|
||||||
|
do {
|
||||||
|
if (strm.avail_in == 0) {
|
||||||
|
strm.avail_in = fread(input, 1, CHUNK, in);
|
||||||
|
if (ferror(in)) {
|
||||||
|
ret = Z_ERRNO;
|
||||||
|
goto extract_ret;
|
||||||
|
}
|
||||||
|
if (strm.avail_in == 0) {
|
||||||
|
ret = Z_DATA_ERROR;
|
||||||
|
goto extract_ret;
|
||||||
|
}
|
||||||
|
strm.next_in = input;
|
||||||
|
}
|
||||||
|
ret = inflate(&strm, Z_NO_FLUSH); /* normal inflate */
|
||||||
|
if (ret == Z_NEED_DICT)
|
||||||
|
ret = Z_DATA_ERROR;
|
||||||
|
if (ret == Z_MEM_ERROR || ret == Z_DATA_ERROR)
|
||||||
|
goto extract_ret;
|
||||||
|
if (ret == Z_STREAM_END)
|
||||||
|
break;
|
||||||
|
} while (strm.avail_out != 0);
|
||||||
|
|
||||||
|
/* if reach end of stream, then don't keep trying to get more */
|
||||||
|
if (ret == Z_STREAM_END)
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* do until offset reached and requested data read, or stream ends */
|
||||||
|
} while (skip);
|
||||||
|
|
||||||
|
/* compute number of uncompressed bytes read after offset */
|
||||||
|
ret = skip ? 0 : len - strm.avail_out;
|
||||||
|
|
||||||
|
/* clean up and return bytes read or error */
|
||||||
|
extract_ret:
|
||||||
|
(void)inflateEnd(&strm);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Demonstrate the use of build_index() and extract() by processing the file
|
||||||
|
provided on the command line, and the extracting 16K from about 2/3rds of
|
||||||
|
the way through the uncompressed output, and writing that to stdout. */
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
int len;
|
||||||
|
off_t offset;
|
||||||
|
FILE *in;
|
||||||
|
struct access *index = NULL;
|
||||||
|
unsigned char buf[CHUNK];
|
||||||
|
|
||||||
|
/* open input file */
|
||||||
|
if (argc != 2) {
|
||||||
|
fprintf(stderr, "usage: zran file.gz\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
in = fopen(argv[1], "rb");
|
||||||
|
if (in == NULL) {
|
||||||
|
fprintf(stderr, "zran: could not open %s for reading\n", argv[1]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* build index */
|
||||||
|
len = build_index(in, SPAN, &index);
|
||||||
|
if (len < 0) {
|
||||||
|
fclose(in);
|
||||||
|
switch (len) {
|
||||||
|
case Z_MEM_ERROR:
|
||||||
|
fprintf(stderr, "zran: out of memory\n");
|
||||||
|
break;
|
||||||
|
case Z_DATA_ERROR:
|
||||||
|
fprintf(stderr, "zran: compressed data error in %s\n", argv[1]);
|
||||||
|
break;
|
||||||
|
case Z_ERRNO:
|
||||||
|
fprintf(stderr, "zran: read error on %s\n", argv[1]);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
fprintf(stderr, "zran: error %d while building index\n", len);
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
fprintf(stderr, "zran: built index with %d access points\n", len);
|
||||||
|
|
||||||
|
/* use index by reading some bytes from an arbitrary offset */
|
||||||
|
offset = (index->list[index->have - 1].out << 1) / 3;
|
||||||
|
len = extract(in, index, offset, buf, CHUNK);
|
||||||
|
if (len < 0)
|
||||||
|
fprintf(stderr, "zran: extraction failed: %s error\n",
|
||||||
|
len == Z_MEM_ERROR ? "out of memory" : "input corrupted");
|
||||||
|
else {
|
||||||
|
fwrite(buf, 1, len, stdout);
|
||||||
|
fprintf(stderr, "zran: extracted %d bytes at %llu\n", len, offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* clean up and exit */
|
||||||
|
free_index(index);
|
||||||
|
fclose(in);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
26
gzio.c
26
gzio.c
@@ -1,5 +1,5 @@
|
|||||||
/* gzio.c -- IO on .gz files
|
/* gzio.c -- IO on .gz files
|
||||||
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
* Copyright (C) 1995-2006 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*
|
*
|
||||||
* Compile this file with -DNO_GZCOMPRESS to avoid the compression code.
|
* Compile this file with -DNO_GZCOMPRESS to avoid the compression code.
|
||||||
@@ -7,9 +7,8 @@
|
|||||||
|
|
||||||
/* @(#) $Id$ */
|
/* @(#) $Id$ */
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include "zutil.h"
|
#include "zutil.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
#ifdef NO_DEFLATE /* for compatibility with old definition */
|
#ifdef NO_DEFLATE /* for compatibility with old definition */
|
||||||
# define NO_GZCOMPRESS
|
# define NO_GZCOMPRESS
|
||||||
@@ -187,7 +186,10 @@ local gzFile gz_open (path, mode, fd)
|
|||||||
/* Write a very simple .gz header:
|
/* Write a very simple .gz header:
|
||||||
*/
|
*/
|
||||||
fprintf(s->file, "%c%c%c%c%c%c%c%c%c%c", gz_magic[0], gz_magic[1],
|
fprintf(s->file, "%c%c%c%c%c%c%c%c%c%c", gz_magic[0], gz_magic[1],
|
||||||
Z_DEFLATED, 0 /*flags*/, 0,0,0,0 /*time*/, 0 /*xflags*/, OS_CODE);
|
Z_DEFLATED, 0 /*flags*/, 0,0,0,0 /*time*/, level == 9 ? 2 :
|
||||||
|
(strategy >= Z_HUFFMAN_ONLY ||
|
||||||
|
(level != Z_DEFAULT_COMPRESSION && level < 2) ?
|
||||||
|
4 : 0) /*xflags*/, OS_CODE);
|
||||||
s->start = 10L;
|
s->start = 10L;
|
||||||
/* We use 10L instead of ftell(s->file) to because ftell causes an
|
/* We use 10L instead of ftell(s->file) to because ftell causes an
|
||||||
* fflush on some systems. This version of the library doesn't use
|
* fflush on some systems. This version of the library doesn't use
|
||||||
@@ -256,7 +258,7 @@ int ZEXPORT gzsetparams (file, level, strategy)
|
|||||||
/* ===========================================================================
|
/* ===========================================================================
|
||||||
Read a byte from a gz_stream; update next_in and avail_in. Return EOF
|
Read a byte from a gz_stream; update next_in and avail_in. Return EOF
|
||||||
for end of file.
|
for end of file.
|
||||||
IN assertion: the stream s has been sucessfully opened for reading.
|
IN assertion: the stream s has been successfully opened for reading.
|
||||||
*/
|
*/
|
||||||
local int get_byte(s)
|
local int get_byte(s)
|
||||||
gz_stream *s;
|
gz_stream *s;
|
||||||
@@ -281,7 +283,7 @@ local int get_byte(s)
|
|||||||
mode to transparent if the gzip magic header is not present; set s->err
|
mode to transparent if the gzip magic header is not present; set s->err
|
||||||
to Z_DATA_ERROR if the magic header is present but the rest of the header
|
to Z_DATA_ERROR if the magic header is present but the rest of the header
|
||||||
is incorrect.
|
is incorrect.
|
||||||
IN assertion: the stream s has already been created sucessfully;
|
IN assertion: the stream s has already been created successfully;
|
||||||
s->stream.avail_in is zero for the first time, but may be non-zero
|
s->stream.avail_in is zero for the first time, but may be non-zero
|
||||||
for concatenated .gz files.
|
for concatenated .gz files.
|
||||||
*/
|
*/
|
||||||
@@ -301,6 +303,7 @@ local void check_header(s)
|
|||||||
if (len) s->inbuf[0] = s->stream.next_in[0];
|
if (len) s->inbuf[0] = s->stream.next_in[0];
|
||||||
errno = 0;
|
errno = 0;
|
||||||
len = (uInt)fread(s->inbuf + len, 1, Z_BUFSIZE >> len, s->file);
|
len = (uInt)fread(s->inbuf + len, 1, Z_BUFSIZE >> len, s->file);
|
||||||
|
if (len == 0) s->z_eof = 1;
|
||||||
if (len == 0 && ferror(s->file)) s->z_err = Z_ERRNO;
|
if (len == 0 && ferror(s->file)) s->z_err = Z_ERRNO;
|
||||||
s->stream.avail_in += len;
|
s->stream.avail_in += len;
|
||||||
s->stream.next_in = s->inbuf;
|
s->stream.next_in = s->inbuf;
|
||||||
@@ -436,7 +439,7 @@ int ZEXPORT gzread (file, buf, len)
|
|||||||
s->stream.avail_out -= n;
|
s->stream.avail_out -= n;
|
||||||
s->stream.avail_in -= n;
|
s->stream.avail_in -= n;
|
||||||
}
|
}
|
||||||
if (s->stream.avail_out > 0) {
|
if (s->stream.avail_out > 0 && !feof(s->file)) {
|
||||||
s->stream.avail_out -=
|
s->stream.avail_out -=
|
||||||
(uInt)fread(next_out, 1, s->stream.avail_out, s->file);
|
(uInt)fread(next_out, 1, s->stream.avail_out, s->file);
|
||||||
}
|
}
|
||||||
@@ -489,6 +492,9 @@ int ZEXPORT gzread (file, buf, len)
|
|||||||
}
|
}
|
||||||
s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start));
|
s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start));
|
||||||
|
|
||||||
|
if (len == s->stream.avail_out &&
|
||||||
|
(s->z_err == Z_DATA_ERROR || s->z_err == Z_ERRNO))
|
||||||
|
return -1;
|
||||||
return (int)(len - s->stream.avail_out);
|
return (int)(len - s->stream.avail_out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -968,16 +974,16 @@ int ZEXPORT gzclose (file)
|
|||||||
return destroy((gz_stream*)file);
|
return destroy((gz_stream*)file);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef STDC
|
#if defined(STDC) && !defined(_WIN32_WCE)
|
||||||
# define zstrerror(errnum) strerror(errnum)
|
# define zstrerror(errnum) strerror(errnum)
|
||||||
#else
|
#else
|
||||||
# define zstrerror(errnum) ""
|
# define zstrerror(errnum) ""
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* ===========================================================================
|
/* ===========================================================================
|
||||||
Returns the error message for the last error which occured on the
|
Returns the error message for the last error which occurred on the
|
||||||
given compressed file. errnum is set to zlib error number. If an
|
given compressed file. errnum is set to zlib error number. If an
|
||||||
error occured in the file system and not in the compression library,
|
error occurred in the file system and not in the compression library,
|
||||||
errnum is set to Z_ERRNO and the application may consult errno
|
errnum is set to Z_ERRNO and the application may consult errno
|
||||||
to get the exact error code.
|
to get the exact error code.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* infback.c -- inflate using a call-back interface
|
/* infback.c -- inflate using a call-back interface
|
||||||
* Copyright (C) 1995-2004 Mark Adler
|
* Copyright (C) 1995-2005 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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ int stream_size;
|
|||||||
sizeof(struct inflate_state));
|
sizeof(struct inflate_state));
|
||||||
if (state == Z_NULL) return Z_MEM_ERROR;
|
if (state == Z_NULL) return Z_MEM_ERROR;
|
||||||
Tracev((stderr, "inflate: allocated\n"));
|
Tracev((stderr, "inflate: allocated\n"));
|
||||||
strm->state = (voidpf)state;
|
strm->state = (struct internal_state FAR *)state;
|
||||||
state->dmax = 32768U;
|
state->dmax = 32768U;
|
||||||
state->wbits = windowBits;
|
state->wbits = windowBits;
|
||||||
state->wsize = 1U << windowBits;
|
state->wsize = 1U << windowBits;
|
||||||
|
|||||||
31
inflate.c
31
inflate.c
@@ -117,6 +117,7 @@ z_streamp strm;
|
|||||||
state->head = Z_NULL;
|
state->head = Z_NULL;
|
||||||
state->wsize = 0;
|
state->wsize = 0;
|
||||||
state->whave = 0;
|
state->whave = 0;
|
||||||
|
state->write = 0;
|
||||||
state->hold = 0;
|
state->hold = 0;
|
||||||
state->bits = 0;
|
state->bits = 0;
|
||||||
state->lencode = state->distcode = state->next = state->codes;
|
state->lencode = state->distcode = state->next = state->codes;
|
||||||
@@ -124,6 +125,22 @@ z_streamp strm;
|
|||||||
return Z_OK;
|
return Z_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ZEXPORT inflatePrime(strm, bits, value)
|
||||||
|
z_streamp strm;
|
||||||
|
int bits;
|
||||||
|
int value;
|
||||||
|
{
|
||||||
|
struct inflate_state FAR *state;
|
||||||
|
|
||||||
|
if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
|
||||||
|
state = (struct inflate_state FAR *)strm->state;
|
||||||
|
if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR;
|
||||||
|
value &= (1L << bits) - 1;
|
||||||
|
state->hold += value << state->bits;
|
||||||
|
state->bits += bits;
|
||||||
|
return Z_OK;
|
||||||
|
}
|
||||||
|
|
||||||
int ZEXPORT inflateInit2_(strm, windowBits, version, stream_size)
|
int ZEXPORT inflateInit2_(strm, windowBits, version, stream_size)
|
||||||
z_streamp strm;
|
z_streamp strm;
|
||||||
int windowBits;
|
int windowBits;
|
||||||
@@ -146,7 +163,7 @@ int stream_size;
|
|||||||
ZALLOC(strm, 1, sizeof(struct inflate_state));
|
ZALLOC(strm, 1, sizeof(struct inflate_state));
|
||||||
if (state == Z_NULL) return Z_MEM_ERROR;
|
if (state == Z_NULL) return Z_MEM_ERROR;
|
||||||
Tracev((stderr, "inflate: allocated\n"));
|
Tracev((stderr, "inflate: allocated\n"));
|
||||||
strm->state = (voidpf)state;
|
strm->state = (struct internal_state FAR *)state;
|
||||||
if (windowBits < 0) {
|
if (windowBits < 0) {
|
||||||
state->wrap = 0;
|
state->wrap = 0;
|
||||||
windowBits = -windowBits;
|
windowBits = -windowBits;
|
||||||
@@ -1310,6 +1327,7 @@ z_streamp source;
|
|||||||
struct inflate_state FAR *state;
|
struct inflate_state FAR *state;
|
||||||
struct inflate_state FAR *copy;
|
struct inflate_state FAR *copy;
|
||||||
unsigned char FAR *window;
|
unsigned char FAR *window;
|
||||||
|
unsigned wsize;
|
||||||
|
|
||||||
/* check input */
|
/* check input */
|
||||||
if (dest == Z_NULL || source == Z_NULL || source->state == Z_NULL ||
|
if (dest == Z_NULL || source == Z_NULL || source->state == Z_NULL ||
|
||||||
@@ -1335,15 +1353,16 @@ z_streamp source;
|
|||||||
zmemcpy(dest, source, sizeof(z_stream));
|
zmemcpy(dest, source, sizeof(z_stream));
|
||||||
zmemcpy(copy, state, sizeof(struct inflate_state));
|
zmemcpy(copy, state, sizeof(struct inflate_state));
|
||||||
if (state->lencode >= state->codes &&
|
if (state->lencode >= state->codes &&
|
||||||
state->lencode <= state->codes + ENOUGH - 1)
|
state->lencode <= state->codes + ENOUGH - 1) {
|
||||||
{
|
|
||||||
copy->lencode = copy->codes + (state->lencode - state->codes);
|
copy->lencode = copy->codes + (state->lencode - state->codes);
|
||||||
copy->distcode = copy->codes + (state->distcode - state->codes);
|
copy->distcode = copy->codes + (state->distcode - state->codes);
|
||||||
}
|
}
|
||||||
copy->next = copy->codes + (state->next - state->codes);
|
copy->next = copy->codes + (state->next - state->codes);
|
||||||
if (window != Z_NULL)
|
if (window != Z_NULL) {
|
||||||
zmemcpy(window, state->window, (uInt)(1U << state->wbits));
|
wsize = 1U << state->wbits;
|
||||||
|
zmemcpy(window, state->window, wsize);
|
||||||
|
}
|
||||||
copy->window = window;
|
copy->window = window;
|
||||||
dest->state = (voidpf)copy;
|
dest->state = (struct internal_state FAR *)copy;
|
||||||
return Z_OK;
|
return Z_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* inflate.h -- internal inflate state definition
|
/* inflate.h -- internal inflate state definition
|
||||||
* Copyright (C) 1995-2004 Mark Adler
|
* Copyright (C) 1995-2006 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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ typedef enum {
|
|||||||
CHECK -> LENGTH -> DONE
|
CHECK -> LENGTH -> DONE
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* state maintained between inflate() calls. Approximately 7K bytes. */
|
/* state maintained between inflate() calls. Approximately 10K bytes. */
|
||||||
struct inflate_state {
|
struct inflate_state {
|
||||||
inflate_mode mode; /* current inflate mode */
|
inflate_mode mode; /* current inflate mode */
|
||||||
int last; /* true if processing last block */
|
int last; /* true if processing last block */
|
||||||
|
|||||||
11
inftrees.c
11
inftrees.c
@@ -1,5 +1,5 @@
|
|||||||
/* inftrees.c -- generate Huffman trees for efficient decoding
|
/* inftrees.c -- generate Huffman trees for efficient decoding
|
||||||
* Copyright (C) 1995-2005 Mark Adler
|
* Copyright (C) 1995-2006 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 inflate_copyright[] =
|
const char inflate_copyright[] =
|
||||||
" inflate 1.2.2.3 Copyright 1995-2005 Mark Adler ";
|
" inflate 1.2.3.2 Copyright 1995-2006 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, 66, 71};
|
19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 192, 204};
|
||||||
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,
|
||||||
@@ -134,7 +134,7 @@ unsigned short FAR *work;
|
|||||||
left -= count[len];
|
left -= count[len];
|
||||||
if (left < 0) return -1; /* over-subscribed */
|
if (left < 0) return -1; /* over-subscribed */
|
||||||
}
|
}
|
||||||
if (left > 0 && (type == CODES || (codes - count[0] != 1)))
|
if (left > 0 && (type == CODES || max != 1))
|
||||||
return -1; /* incomplete set */
|
return -1; /* incomplete set */
|
||||||
|
|
||||||
/* generate offsets into symbol table for each length for sorting */
|
/* generate offsets into symbol table for each length for sorting */
|
||||||
@@ -232,6 +232,7 @@ unsigned short FAR *work;
|
|||||||
/* replicate for those indices with low len bits equal to huff */
|
/* replicate for those indices with low len bits equal to huff */
|
||||||
incr = 1U << (len - drop);
|
incr = 1U << (len - drop);
|
||||||
fill = 1U << curr;
|
fill = 1U << curr;
|
||||||
|
min = fill; /* save offset to next table */
|
||||||
do {
|
do {
|
||||||
fill -= incr;
|
fill -= incr;
|
||||||
next[(huff >> drop) + fill] = this;
|
next[(huff >> drop) + fill] = this;
|
||||||
@@ -262,7 +263,7 @@ unsigned short FAR *work;
|
|||||||
drop = root;
|
drop = root;
|
||||||
|
|
||||||
/* increment past last table */
|
/* increment past last table */
|
||||||
next += (unsigned)(1U << curr);
|
next += min; /* here min is 1 << curr */
|
||||||
|
|
||||||
/* determine length of next table */
|
/* determine length of next table */
|
||||||
curr = len - drop;
|
curr = len - drop;
|
||||||
|
|||||||
10
inftrees.h
10
inftrees.h
@@ -1,5 +1,5 @@
|
|||||||
/* inftrees.h -- header to use inftrees.c
|
/* inftrees.h -- header to use inftrees.c
|
||||||
* Copyright (C) 1995-2003 Mark Adler
|
* Copyright (C) 1995-2005 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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -36,12 +36,12 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Maximum size of dynamic tree. The maximum found in a long but non-
|
/* Maximum size of dynamic tree. The maximum found in a long but non-
|
||||||
exhaustive search was 1004 code structures (850 for length/literals
|
exhaustive search was 1444 code structures (852 for length/literals
|
||||||
and 154 for distances, the latter actually the result of an
|
and 592 for distances, the latter actually the result of an
|
||||||
exhaustive search). The true maximum is not known, but the value
|
exhaustive search). The true maximum is not known, but the value
|
||||||
below is more than safe. */
|
below is more than safe. */
|
||||||
#define ENOUGH 1440
|
#define ENOUGH 2048
|
||||||
#define MAXD 154
|
#define MAXD 592
|
||||||
|
|
||||||
/* Type of code to build for inftable() */
|
/* Type of code to build for inftable() */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|||||||
490
make_vms.com
490
make_vms.com
@@ -1,76 +1,151 @@
|
|||||||
$! make libz under VMS
|
$! make libz under VMS written by
|
||||||
$! written by Martin P.J. Zinser <m.zinser@gsi.de>
|
$! Martin P.J. Zinser
|
||||||
|
$!
|
||||||
|
$! In case of problems with the install you might contact me at
|
||||||
|
$! zinser@zinser.no-ip.info(preferred) or
|
||||||
|
$! zinser@sysdev.deutsche-boerse.com (work)
|
||||||
|
$!
|
||||||
|
$! Make procedure history for Zlib
|
||||||
|
$!
|
||||||
|
$!------------------------------------------------------------------------------
|
||||||
|
$! Version history
|
||||||
|
$! 0.01 20060120 First version to receive a number
|
||||||
|
$!
|
||||||
|
$ on error then goto err_exit
|
||||||
|
$!
|
||||||
|
$!
|
||||||
|
$! Just some general constants...
|
||||||
|
$!
|
||||||
|
$ true = 1
|
||||||
|
$ false = 0
|
||||||
|
$ tmpnam = "temp_" + f$getjpi("","pid")
|
||||||
|
$ its_decc = false
|
||||||
|
$ its_vaxc = false
|
||||||
|
$ its_gnuc = false
|
||||||
|
$ s_case = False
|
||||||
|
$!
|
||||||
|
$! Setup variables holding "config" information
|
||||||
|
$!
|
||||||
|
$ Make = ""
|
||||||
|
$ name = "Zlib"
|
||||||
|
$ version = "?.?.?"
|
||||||
|
$ v_string = "ZLIB_VERSION"
|
||||||
|
$ v_file = "zlib.h"
|
||||||
|
$ ccopt = ""
|
||||||
|
$ lopts = ""
|
||||||
|
$ dnsrl = ""
|
||||||
|
$ linkonly = false
|
||||||
|
$ optfile = name + ".opt"
|
||||||
|
$ axp = f$getsyi("HW_MODEL").ge.1024
|
||||||
|
$!
|
||||||
|
$! Check for MMK/MMS
|
||||||
|
$!
|
||||||
|
$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
|
||||||
|
$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
|
||||||
|
$!
|
||||||
|
$!
|
||||||
|
$ gosub find_version
|
||||||
|
$!
|
||||||
|
$ gosub check_opts
|
||||||
$!
|
$!
|
||||||
$! Look for the compiler used
|
$! Look for the compiler used
|
||||||
$!
|
$!
|
||||||
$ ccopt = ""
|
$ gosub check_compiler
|
||||||
$ if f$getsyi("HW_MODEL").ge.1024
|
$ if its_decc
|
||||||
$ then
|
$ then
|
||||||
$ ccopt = "/prefix=all"+ccopt
|
$ ccopt = "/prefix=all" + ccopt
|
||||||
$ comp = "__decc__=1"
|
$ if f$trnlnm("SYS") .eqs. ""
|
||||||
$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
|
|
||||||
$ else
|
|
||||||
$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
|
|
||||||
$ then
|
$ then
|
||||||
$ comp = "__vaxc__=1"
|
$ if axp
|
||||||
|
$ then
|
||||||
|
$ define sys sys$library:
|
||||||
|
$ else
|
||||||
|
$ ccopt = "/decc" + ccopt
|
||||||
|
$ define sys decc$library_include:
|
||||||
|
$ endif
|
||||||
|
$ endif
|
||||||
|
$ endif
|
||||||
|
$ if its_vaxc .or. its_gnuc
|
||||||
|
$ then
|
||||||
$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
|
$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
|
||||||
$ else
|
|
||||||
$ if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
|
|
||||||
$ ccopt = "/decc/prefix=all"+ccopt
|
|
||||||
$ comp = "__decc__=1"
|
|
||||||
$ endif
|
|
||||||
$ endif
|
$ endif
|
||||||
$!
|
$!
|
||||||
$! Build the thing plain or with mms
|
$! Build the thing plain or with mms
|
||||||
$!
|
$!
|
||||||
$ write sys$output "Compiling Zlib sources ..."
|
$ write sys$output "Compiling Zlib sources ..."
|
||||||
$ if f$search("SYS$SYSTEM:MMS.EXE").eqs.""
|
$ if make.eqs.""
|
||||||
$ then
|
$ then
|
||||||
$ dele example.obj;*,minigzip.obj;*
|
$ dele example.obj;*,minigzip.obj;*
|
||||||
$ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" -
|
$ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" -
|
||||||
adler32.c zlib.h zconf.h
|
adler32.c zlib.h zconf.h zlibdefs.h
|
||||||
$ CALL MAKE compress.OBJ "CC ''CCOPT' compress" -
|
$ CALL MAKE compress.OBJ "CC ''CCOPT' compress" -
|
||||||
compress.c zlib.h zconf.h
|
compress.c zlib.h zconf.h zlibdefs.h
|
||||||
$ CALL MAKE crc32.OBJ "CC ''CCOPT' crc32" -
|
$ CALL MAKE crc32.OBJ "CC ''CCOPT' crc32" -
|
||||||
crc32.c crc32.h zlib.h zconf.h zutil.h
|
crc32.c zlib.h zconf.h zlibdefs.h
|
||||||
$ CALL MAKE deflate.OBJ "CC ''CCOPT' deflate" -
|
$ CALL MAKE deflate.OBJ "CC ''CCOPT' deflate" -
|
||||||
deflate.c deflate.h zutil.h zlib.h zconf.h
|
deflate.c deflate.h zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
$ CALL MAKE gzio.OBJ "CC ''CCOPT' gzio /define=""NO_vsnprintf""" -
|
$ CALL MAKE gzio.OBJ "CC ''CCOPT' gzio" -
|
||||||
gzio.c zutil.h zlib.h zconf.h
|
gzio.c zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
$ CALL MAKE infback.OBJ "CC ''CCOPT' infback" -
|
$ CALL MAKE infback.OBJ "CC ''CCOPT' infback" -
|
||||||
infback.c zutil.h zlib.h zconf.h -
|
infback.c zutil.h inftrees.h inflate.h inffast.h inffixed.h
|
||||||
"inftrees.h inflate.h inffast.h inffixed.h"
|
|
||||||
$ CALL MAKE inffast.OBJ "CC ''CCOPT' inffast" -
|
$ CALL MAKE inffast.OBJ "CC ''CCOPT' inffast" -
|
||||||
inffast.c zutil.h zlib.h zconf.h -
|
inffast.c zutil.h zlib.h zconf.h zlibdefs.h inffast.h
|
||||||
"inftrees.h inflate.h inffast.h"
|
|
||||||
$ CALL MAKE inflate.OBJ "CC ''CCOPT' inflate" -
|
$ CALL MAKE inflate.OBJ "CC ''CCOPT' inflate" -
|
||||||
inflate.c zutil.h zlib.h zconf.h -
|
inflate.c zutil.h zlib.h zconf.h zlibdefs.h infblock.h
|
||||||
"inftrees.h inflate.h inffast.h inffixed.h"
|
|
||||||
$ CALL MAKE inftrees.OBJ "CC ''CCOPT' inftrees" -
|
$ CALL MAKE inftrees.OBJ "CC ''CCOPT' inftrees" -
|
||||||
inftrees.c zutil.h zlib.h zconf.h inftrees.h
|
inftrees.c zutil.h zlib.h zconf.h zlibdefs.h inftrees.h
|
||||||
$ CALL MAKE trees.OBJ "CC ''CCOPT' trees" -
|
$ CALL MAKE trees.OBJ "CC ''CCOPT' trees" -
|
||||||
trees.c trees.h deflate.h zutil.h zlib.h zconf.h
|
trees.c deflate.h zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
$ CALL MAKE uncompr.OBJ "CC ''CCOPT' uncompr" -
|
$ CALL MAKE uncompr.OBJ "CC ''CCOPT' uncompr" -
|
||||||
uncompr.c zlib.h zconf.h
|
uncompr.c zlib.h zconf.h zlibdefs.h
|
||||||
$ CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" -
|
$ CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" -
|
||||||
zutil.c zutil.h zlib.h zconf.h
|
zutil.c zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
$ write sys$output "Building Zlib ..."
|
$ write sys$output "Building Zlib ..."
|
||||||
$ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ
|
$ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ
|
||||||
$ write sys$output "Building example..."
|
$ write sys$output "Building example..."
|
||||||
$ CALL MAKE example.OBJ "CC ''CCOPT' example" -
|
$ CALL MAKE example.OBJ "CC ''CCOPT' example" -
|
||||||
example.c zlib.h zconf.h
|
example.c zlib.h zconf.h zlibdefs.h
|
||||||
$ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb
|
$ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb
|
||||||
$ write sys$output "Building minigzip..."
|
$ if f$search("x11vms:xvmsutils.olb") .nes. ""
|
||||||
$ CALL MAKE minigzip.OBJ "CC ''CCOPT' minigzip" -
|
$ then
|
||||||
minigzip.c zlib.h zconf.h
|
$ write sys$output "Building minigzip..."
|
||||||
$ call make minigzip.exe -
|
$ CALL MAKE minigzip.OBJ "CC ''CCOPT' minigzip" -
|
||||||
"LINK minigzip,libz.olb/lib" -
|
minigzip.c zlib.h zconf.h zlibdefs.h
|
||||||
|
$ call make minigzip.exe -
|
||||||
|
"LINK minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib" -
|
||||||
minigzip.obj libz.olb
|
minigzip.obj libz.olb
|
||||||
|
$ endif
|
||||||
$ else
|
$ else
|
||||||
$ mms/macro=('comp')
|
$ gosub crea_mms
|
||||||
|
$ write sys$output "Make ''name' ''version' with ''Make' "
|
||||||
|
$ 'make'
|
||||||
$ endif
|
$ endif
|
||||||
|
$!
|
||||||
|
$! Alpha gets a shareable image
|
||||||
|
$!
|
||||||
|
$ If axp
|
||||||
|
$ Then
|
||||||
|
$ gosub crea_olist
|
||||||
|
$ write sys$output "Creating libzshr.exe"
|
||||||
|
$ call anal_obj_axp modules.opt _link.opt
|
||||||
|
$ if s_case
|
||||||
|
$ then
|
||||||
|
$ open/append optf modules.opt
|
||||||
|
$ write optf "case_sensitive=YES"
|
||||||
|
$ close optf
|
||||||
|
$ endif
|
||||||
|
$ LINK_'lopts'/SHARE=libzshr.exe modules.opt/opt,_link.opt/opt
|
||||||
|
$ endif
|
||||||
$ write sys$output "Zlib build completed"
|
$ write sys$output "Zlib build completed"
|
||||||
$ exit
|
$ exit
|
||||||
|
$CC_ERR:
|
||||||
|
$ write sys$output "C compiler required to build ''name'"
|
||||||
|
$ goto err_exit
|
||||||
|
$ERR_EXIT:
|
||||||
|
$ set message/facil/ident/sever/text
|
||||||
|
$ close/nolog optf
|
||||||
|
$ write sys$output "Exiting..."
|
||||||
|
$ exit 2
|
||||||
$!
|
$!
|
||||||
$!
|
$!
|
||||||
$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
|
$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
|
||||||
@@ -112,3 +187,340 @@ $ VV='F$Verify(VV)
|
|||||||
$Exit:
|
$Exit:
|
||||||
$ If V Then Set Verify
|
$ If V Then Set Verify
|
||||||
$ENDSUBROUTINE
|
$ENDSUBROUTINE
|
||||||
|
$!------------------------------------------------------------------------------
|
||||||
|
$!
|
||||||
|
$! Check command line options and set symbols accordingly
|
||||||
|
$!
|
||||||
|
$ CHECK_OPTS:
|
||||||
|
$ i = 1
|
||||||
|
$ OPT_LOOP:
|
||||||
|
$ if i .lt. 9
|
||||||
|
$ then
|
||||||
|
$ cparm = f$edit(p'i',"upcase")
|
||||||
|
$ if cparm .eqs. "DEBUG"
|
||||||
|
$ then
|
||||||
|
$ ccopt = ccopt + "/noopt/deb"
|
||||||
|
$ lopts = lopts + "/deb"
|
||||||
|
$ endif
|
||||||
|
$ if f$locate("CCOPT=",cparm) .lt. f$length(cparm)
|
||||||
|
$ then
|
||||||
|
$ start = f$locate("=",cparm) + 1
|
||||||
|
$ len = f$length(cparm) - start
|
||||||
|
$ ccopt = ccopt + f$extract(start,len,cparm)
|
||||||
|
$ if f$locate("AS_IS",f$edit(ccopt,"UPCASE")) .lt. f$length(ccopt) -
|
||||||
|
then s_case = true
|
||||||
|
$ endif
|
||||||
|
$ if cparm .eqs. "LINK" then linkonly = true
|
||||||
|
$ if f$locate("LOPTS=",cparm) .lt. f$length(cparm)
|
||||||
|
$ then
|
||||||
|
$ start = f$locate("=",cparm) + 1
|
||||||
|
$ len = f$length(cparm) - start
|
||||||
|
$ lopts = lopts + f$extract(start,len,cparm)
|
||||||
|
$ endif
|
||||||
|
$ if f$locate("CC=",cparm) .lt. f$length(cparm)
|
||||||
|
$ then
|
||||||
|
$ start = f$locate("=",cparm) + 1
|
||||||
|
$ len = f$length(cparm) - start
|
||||||
|
$ cc_com = f$extract(start,len,cparm)
|
||||||
|
if (cc_com .nes. "DECC") .and. -
|
||||||
|
(cc_com .nes. "VAXC") .and. -
|
||||||
|
(cc_com .nes. "GNUC")
|
||||||
|
$ then
|
||||||
|
$ write sys$output "Unsupported compiler choice ''cc_com' ignored"
|
||||||
|
$ write sys$output "Use DECC, VAXC, or GNUC instead"
|
||||||
|
$ else
|
||||||
|
$ if cc_com .eqs. "DECC" then its_decc = true
|
||||||
|
$ if cc_com .eqs. "VAXC" then its_vaxc = true
|
||||||
|
$ if cc_com .eqs. "GNUC" then its_gnuc = true
|
||||||
|
$ endif
|
||||||
|
$ endif
|
||||||
|
$ if f$locate("MAKE=",cparm) .lt. f$length(cparm)
|
||||||
|
$ then
|
||||||
|
$ start = f$locate("=",cparm) + 1
|
||||||
|
$ len = f$length(cparm) - start
|
||||||
|
$ mmks = f$extract(start,len,cparm)
|
||||||
|
$ if (mmks .eqs. "MMK") .or. (mmks .eqs. "MMS")
|
||||||
|
$ then
|
||||||
|
$ make = mmks
|
||||||
|
$ else
|
||||||
|
$ write sys$output "Unsupported make choice ''mmks' ignored"
|
||||||
|
$ write sys$output "Use MMK or MMS instead"
|
||||||
|
$ endif
|
||||||
|
$ endif
|
||||||
|
$ i = i + 1
|
||||||
|
$ goto opt_loop
|
||||||
|
$ endif
|
||||||
|
$ return
|
||||||
|
$!------------------------------------------------------------------------------
|
||||||
|
$!
|
||||||
|
$! Look for the compiler used
|
||||||
|
$!
|
||||||
|
$! Version history
|
||||||
|
$! 0.01 20040223 First version to receive a number
|
||||||
|
$! 0.02 20040229 Save/set value of decc$no_rooted_search_lists
|
||||||
|
$CHECK_COMPILER:
|
||||||
|
$ if (.not. (its_decc .or. its_vaxc .or. its_gnuc))
|
||||||
|
$ then
|
||||||
|
$ its_decc = (f$search("SYS$SYSTEM:DECC$COMPILER.EXE") .nes. "")
|
||||||
|
$ its_vaxc = .not. its_decc .and. (F$Search("SYS$System:VAXC.Exe") .nes. "")
|
||||||
|
$ its_gnuc = .not. (its_decc .or. its_vaxc) .and. (f$trnlnm("gnu_cc") .nes. "")
|
||||||
|
$ endif
|
||||||
|
$!
|
||||||
|
$! Exit if no compiler available
|
||||||
|
$!
|
||||||
|
$ if (.not. (its_decc .or. its_vaxc .or. its_gnuc))
|
||||||
|
$ then goto CC_ERR
|
||||||
|
$ else
|
||||||
|
$ if its_decc
|
||||||
|
$ then
|
||||||
|
$ write sys$output "CC compiler check ... Compaq C"
|
||||||
|
$ if f$trnlnm("decc$no_rooted_search_lists") .nes. ""
|
||||||
|
$ then
|
||||||
|
$ dnrsl = f$trnlnm("decc$no_rooted_search_lists")
|
||||||
|
$ endif
|
||||||
|
$ define decc$no_rooted_search_lists 1
|
||||||
|
$ else
|
||||||
|
$ if its_vaxc then write sys$output "CC compiler check ... VAX C"
|
||||||
|
$ if its_gnuc then write sys$output "CC compiler check ... GNU C"
|
||||||
|
$ if f$trnlnm(topt) then write topt "sys$share:vaxcrtl.exe/share"
|
||||||
|
$ if f$trnlnm(optf) then write optf "sys$share:vaxcrtl.exe/share"
|
||||||
|
$ endif
|
||||||
|
$ endif
|
||||||
|
$ return
|
||||||
|
$!------------------------------------------------------------------------------
|
||||||
|
$!
|
||||||
|
$! If MMS/MMK are available dump out the descrip.mms if required
|
||||||
|
$!
|
||||||
|
$CREA_MMS:
|
||||||
|
$ write sys$output "Creating descrip.mms..."
|
||||||
|
$ create descrip.mms
|
||||||
|
$ open/append out descrip.mms
|
||||||
|
$ copy sys$input: out
|
||||||
|
$ deck
|
||||||
|
# descrip.mms: MMS description file for building zlib on VMS
|
||||||
|
# written by Martin P.J. Zinser
|
||||||
|
# <zinser@zinser.no-ip.info or zinser@sysdev.deutsche-boerse.com>
|
||||||
|
|
||||||
|
OBJS = adler32.obj, compress.obj, crc32.obj, gzio.obj, uncompr.obj, infback.obj\
|
||||||
|
deflate.obj, trees.obj, zutil.obj, inflate.obj, \
|
||||||
|
inftrees.obj, inffast.obj
|
||||||
|
|
||||||
|
$ eod
|
||||||
|
$ write out "CFLAGS=", ccopt
|
||||||
|
$ write out "LOPTS=", lopts
|
||||||
|
$ copy sys$input: out
|
||||||
|
$ deck
|
||||||
|
|
||||||
|
all : example.exe minigzip.exe libz.olb
|
||||||
|
@ write sys$output " Example applications available"
|
||||||
|
|
||||||
|
libz.olb : libz.olb($(OBJS))
|
||||||
|
@ write sys$output " libz available"
|
||||||
|
|
||||||
|
example.exe : example.obj libz.olb
|
||||||
|
link $(LOPTS) example,libz.olb/lib
|
||||||
|
|
||||||
|
minigzip.exe : minigzip.obj libz.olb
|
||||||
|
link $(LOPTS) minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib
|
||||||
|
|
||||||
|
clean :
|
||||||
|
delete *.obj;*,libz.olb;*,*.opt;*,*.exe;*
|
||||||
|
|
||||||
|
|
||||||
|
# Other dependencies.
|
||||||
|
adler32.obj : adler32.c zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
compress.obj : compress.c zlib.h zconf.h zlibdefs.h
|
||||||
|
crc32.obj : crc32.c zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
deflate.obj : deflate.c deflate.h zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
example.obj : example.c zlib.h zconf.h zlibdefs.h
|
||||||
|
gzio.obj : gzio.c zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
inffast.obj : inffast.c zutil.h zlib.h zconf.h zlibdefs.h inftrees.h inffast.h
|
||||||
|
inflate.obj : inflate.c zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
inftrees.obj : inftrees.c zutil.h zlib.h zconf.h zlibdefs.h inftrees.h
|
||||||
|
minigzip.obj : minigzip.c zlib.h zconf.h zlibdefs.h
|
||||||
|
trees.obj : trees.c deflate.h zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
uncompr.obj : uncompr.c zlib.h zconf.h zlibdefs.h
|
||||||
|
zutil.obj : zutil.c zutil.h zlib.h zconf.h zlibdefs.h
|
||||||
|
infback.obj : infback.c zutil.h inftrees.h inflate.h inffast.h inffixed.h
|
||||||
|
$ eod
|
||||||
|
$ close out
|
||||||
|
$ return
|
||||||
|
$!------------------------------------------------------------------------------
|
||||||
|
$!
|
||||||
|
$! Read list of core library sources from makefile.in and create options
|
||||||
|
$! needed to build shareable image
|
||||||
|
$!
|
||||||
|
$CREA_OLIST:
|
||||||
|
$ open/read min makefile.in
|
||||||
|
$ open/write mod modules.opt
|
||||||
|
$ src_check = "OBJS ="
|
||||||
|
$MRLOOP:
|
||||||
|
$ read/end=mrdone min rec
|
||||||
|
$ if (f$extract(0,6,rec) .nes. src_check) then goto mrloop
|
||||||
|
$ rec = rec - src_check
|
||||||
|
$ gosub extra_filnam
|
||||||
|
$ if (f$element(1,"\",rec) .eqs. "\") then goto mrdone
|
||||||
|
$MRSLOOP:
|
||||||
|
$ read/end=mrdone min rec
|
||||||
|
$ gosub extra_filnam
|
||||||
|
$ if (f$element(1,"\",rec) .nes. "\") then goto mrsloop
|
||||||
|
$MRDONE:
|
||||||
|
$ close min
|
||||||
|
$ close mod
|
||||||
|
$ return
|
||||||
|
$!------------------------------------------------------------------------------
|
||||||
|
$!
|
||||||
|
$! Take record extracted in crea_olist and split it into single filenames
|
||||||
|
$!
|
||||||
|
$EXTRA_FILNAM:
|
||||||
|
$ myrec = f$edit(rec - "\", "trim,compress")
|
||||||
|
$ i = 0
|
||||||
|
$FELOOP:
|
||||||
|
$ srcfil = f$element(i," ", myrec)
|
||||||
|
$ if (srcfil .nes. " ")
|
||||||
|
$ then
|
||||||
|
$ write mod f$parse(srcfil,,,"NAME"), ".obj"
|
||||||
|
$ i = i + 1
|
||||||
|
$ goto feloop
|
||||||
|
$ endif
|
||||||
|
$ return
|
||||||
|
$!------------------------------------------------------------------------------
|
||||||
|
$!
|
||||||
|
$! Find current Zlib version number
|
||||||
|
$!
|
||||||
|
$FIND_VERSION:
|
||||||
|
$ open/read h_in 'v_file'
|
||||||
|
$hloop:
|
||||||
|
$ read/end=hdone h_in rec
|
||||||
|
$ rec = f$edit(rec,"TRIM")
|
||||||
|
$ if (f$extract(0,1,rec) .nes. "#") then goto hloop
|
||||||
|
$ rec = f$edit(rec - "#", "TRIM")
|
||||||
|
$ if f$element(0," ",rec) .nes. "define" then goto hloop
|
||||||
|
$ if f$element(1," ",rec) .eqs. v_string
|
||||||
|
$ then
|
||||||
|
$ version = 'f$element(2," ",rec)'
|
||||||
|
$ goto hdone
|
||||||
|
$ endif
|
||||||
|
$ goto hloop
|
||||||
|
$hdone:
|
||||||
|
$ close h_in
|
||||||
|
$ return
|
||||||
|
$!------------------------------------------------------------------------------
|
||||||
|
$!
|
||||||
|
$! Analyze Object files for OpenVMS AXP to extract Procedure and Data
|
||||||
|
$! information to build a symbol vector for a shareable image
|
||||||
|
$! All the "brains" of this logic was suggested by Hartmut Becker
|
||||||
|
$! (Hartmut.Becker@compaq.com). All the bugs were introduced by me
|
||||||
|
$! (zinser@zinser.no-ip.info), so if you do have problem reports please do not
|
||||||
|
$! bother Hartmut/HP, but get in touch with me
|
||||||
|
$!
|
||||||
|
$! Version history
|
||||||
|
$! 0.01 20040406 Skip over shareable images in option file
|
||||||
|
$! 0.02 20041109 Fix option file for shareable images with case_sensitive=YES
|
||||||
|
$! 0.03 20050107 Skip over Identification labels in option file
|
||||||
|
$! 0.04 20060117 Add uppercase alias to code compiled with /name=as_is
|
||||||
|
$!
|
||||||
|
$ ANAL_OBJ_AXP: Subroutine
|
||||||
|
$ V = 'F$Verify(0)
|
||||||
|
$ SAY := "WRITE_ SYS$OUTPUT"
|
||||||
|
$
|
||||||
|
$ IF F$SEARCH("''P1'") .EQS. ""
|
||||||
|
$ THEN
|
||||||
|
$ SAY "ANAL_OBJ_AXP-E-NOSUCHFILE: Error, inputfile ''p1' not available"
|
||||||
|
$ goto exit_aa
|
||||||
|
$ ENDIF
|
||||||
|
$ IF "''P2'" .EQS. ""
|
||||||
|
$ THEN
|
||||||
|
$ SAY "ANAL_OBJ_AXP: Error, no output file provided"
|
||||||
|
$ goto exit_aa
|
||||||
|
$ ENDIF
|
||||||
|
$
|
||||||
|
$ open/read in 'p1
|
||||||
|
$ create a.tmp
|
||||||
|
$ open/append atmp a.tmp
|
||||||
|
$ loop:
|
||||||
|
$ read/end=end_loop in line
|
||||||
|
$ if f$locate("/SHARE",f$edit(line,"upcase")) .lt. f$length(line)
|
||||||
|
$ then
|
||||||
|
$ write sys$output "ANAL_SKP_SHR-i-skipshare, ''line'"
|
||||||
|
$ goto loop
|
||||||
|
$ endif
|
||||||
|
$ if f$locate("IDENTIFICATION=",f$edit(line,"upcase")) .lt. f$length(line)
|
||||||
|
$ then
|
||||||
|
$ write sys$output "ANAL_OBJ_AXP-i-ident: Identification ", -
|
||||||
|
f$element(1,"=",line)
|
||||||
|
$ goto loop
|
||||||
|
$ endif
|
||||||
|
$ f= f$search(line)
|
||||||
|
$ if f .eqs. ""
|
||||||
|
$ then
|
||||||
|
$ write sys$output "ANAL_OBJ_AXP-w-nosuchfile, ''line'"
|
||||||
|
$ goto loop
|
||||||
|
$ endif
|
||||||
|
$ define/user sys$output nl:
|
||||||
|
$ define/user sys$error nl:
|
||||||
|
$ anal/obj/gsd 'f /out=x.tmp
|
||||||
|
$ open/read xtmp x.tmp
|
||||||
|
$ XLOOP:
|
||||||
|
$ read/end=end_xloop xtmp xline
|
||||||
|
$ xline = f$edit(xline,"compress")
|
||||||
|
$ write atmp xline
|
||||||
|
$ goto xloop
|
||||||
|
$ END_XLOOP:
|
||||||
|
$ close xtmp
|
||||||
|
$ goto loop
|
||||||
|
$ end_loop:
|
||||||
|
$ close in
|
||||||
|
$ close atmp
|
||||||
|
$ if f$search("a.tmp") .eqs. "" -
|
||||||
|
then $ exit
|
||||||
|
$ ! all global definitions
|
||||||
|
$ search a.tmp "symbol:","EGSY$V_DEF 1","EGSY$V_NORM 1"/out=b.tmp
|
||||||
|
$ ! all procedures
|
||||||
|
$ search b.tmp "EGSY$V_NORM 1"/wind=(0,1) /out=c.tmp
|
||||||
|
$ search c.tmp "symbol:"/out=d.tmp
|
||||||
|
$ define/user sys$output nl:
|
||||||
|
$ edito/edt/command=sys$input d.tmp
|
||||||
|
sub/symbol: "/symbol_vector=(/whole
|
||||||
|
sub/"/=PROCEDURE)/whole
|
||||||
|
exit
|
||||||
|
$ ! all data
|
||||||
|
$ search b.tmp "EGSY$V_DEF 1"/wind=(0,1) /out=e.tmp
|
||||||
|
$ search e.tmp "symbol:"/out=f.tmp
|
||||||
|
$ define/user sys$output nl:
|
||||||
|
$ edito/edt/command=sys$input f.tmp
|
||||||
|
sub/symbol: "/symbol_vector=(/whole
|
||||||
|
sub/"/=DATA)/whole
|
||||||
|
exit
|
||||||
|
$ sort/nodupl d.tmp,f.tmp g.tmp
|
||||||
|
$ open/read raw_vector g.tmp
|
||||||
|
$ open/write case_vector 'p2'
|
||||||
|
$ RAWLOOP:
|
||||||
|
$ read/end=end_rawloop raw_vector raw_element
|
||||||
|
$ write case_vector raw_element
|
||||||
|
$ if f$locate("=PROCEDURE)",raw_element) .lt. f$length(raw_element)
|
||||||
|
$ then
|
||||||
|
$ name = f$element(1,"=",raw_element) - "("
|
||||||
|
$ if f$edit(name,"UPCASE") .nes. name then -
|
||||||
|
write case_vector f$fao(" symbol_vector=(!AS/!AS=PROCEDURE)", -
|
||||||
|
f$edit(name,"UPCASE"), name)
|
||||||
|
$ endif
|
||||||
|
$ if f$locate("=DATA)",raw_element) .lt. f$length(raw_element)
|
||||||
|
$ then
|
||||||
|
$ name = f$element(1,"=",raw_element) - "("
|
||||||
|
$ if f$edit(name,"UPCASE") .nes. name then -
|
||||||
|
write case_vector f$fao(" symbol_vector=(!AS/!AS=DATA)", -
|
||||||
|
f$edit(name,"UPCASE"), name)
|
||||||
|
$ endif
|
||||||
|
$ goto rawloop
|
||||||
|
$ END_RAWLOOP:
|
||||||
|
$ close raw_vector
|
||||||
|
$ close case_vector
|
||||||
|
$ delete a.tmp;*,b.tmp;*,c.tmp;*,d.tmp;*,e.tmp;*,f.tmp;*,g.tmp;*
|
||||||
|
$ if f$search("x.tmp") .nes. "" -
|
||||||
|
then $ delete x.tmp;*
|
||||||
|
$!
|
||||||
|
$ EXIT_AA:
|
||||||
|
$ if V then set verify
|
||||||
|
$ endsubroutine
|
||||||
|
$!------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* minigzip.c -- simulate gzip using the zlib compression library
|
/* minigzip.c -- simulate gzip using the zlib compression library
|
||||||
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
* Copyright (C) 1995-2006 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
/* @(#) $Id$ */
|
/* @(#) $Id$ */
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "zlib.h"
|
#include "zlib.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
#ifdef STDC
|
#ifdef STDC
|
||||||
# include <string.h>
|
# include <string.h>
|
||||||
|
|||||||
@@ -17,14 +17,14 @@ CFG=example - Win32 LIB Debug
|
|||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE Possible choices for configuration are:
|
!MESSAGE Possible choices for configuration are:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE "example - Win32 DLL Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "example - Win32 DLL Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "example - Win32 DLL ASM Release" (based on "Win32 (x86) Console Application")
|
!MESSAGE "example - Win32 DLL ASM Release" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE "example - Win32 DLL ASM Debug" (based on "Win32 (x86) Console Application")
|
!MESSAGE "example - Win32 DLL ASM Debug" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE "example - Win32 LIB Release" (based on "Win32 (x86) Console Application")
|
!MESSAGE "example - Win32 DLL Release" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE "example - Win32 LIB Debug" (based on "Win32 (x86) Console Application")
|
!MESSAGE "example - Win32 DLL Debug" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE "example - Win32 LIB ASM Release" (based on "Win32 (x86) Console Application")
|
!MESSAGE "example - Win32 LIB ASM Release" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE "example - Win32 LIB ASM Debug" (based on "Win32 (x86) Console Application")
|
!MESSAGE "example - Win32 LIB ASM Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "example - Win32 LIB Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "example - Win32 LIB Debug" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
|
|
||||||
# Begin Project
|
# Begin Project
|
||||||
@@ -34,59 +34,7 @@ CFG=example - Win32 LIB Debug
|
|||||||
CPP=cl.exe
|
CPP=cl.exe
|
||||||
RSC=rc.exe
|
RSC=rc.exe
|
||||||
|
|
||||||
!IF "$(CFG)" == "example - Win32 DLL Release"
|
!IF "$(CFG)" == "example - Win32 DLL ASM Release"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "example___Win32_DLL_Release"
|
|
||||||
# PROP BASE Intermediate_Dir "example___Win32_DLL_Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Win32_DLL_Release"
|
|
||||||
# PROP Intermediate_Dir "Win32_DLL_Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
|
||||||
# SUBTRACT BASE CPP /YX
|
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 /nologo /subsystem:console /machine:I386
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "example - Win32 DLL Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "example___Win32_DLL_Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "example___Win32_DLL_Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Win32_DLL_Debug"
|
|
||||||
# PROP Intermediate_Dir "Win32_DLL_Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
|
||||||
# SUBTRACT BASE CPP /YX
|
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "example - Win32 DLL ASM Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
@@ -101,7 +49,7 @@ LINK32=link.exe
|
|||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
@@ -127,7 +75,7 @@ LINK32=link.exe
|
|||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
@@ -138,22 +86,22 @@ LINK32=link.exe
|
|||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "example - Win32 LIB Release"
|
!ELSEIF "$(CFG)" == "example - Win32 DLL Release"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
# PROP BASE Output_Dir "example___Win32_LIB_Release"
|
# PROP BASE Output_Dir "example___Win32_DLL_Release"
|
||||||
# PROP BASE Intermediate_Dir "example___Win32_LIB_Release"
|
# PROP BASE Intermediate_Dir "example___Win32_DLL_Release"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_MFC 0
|
# PROP Use_MFC 0
|
||||||
# PROP Use_Debug_Libraries 0
|
# PROP Use_Debug_Libraries 0
|
||||||
# PROP Output_Dir "Win32_LIB_Release"
|
# PROP Output_Dir "Win32_DLL_Release"
|
||||||
# PROP Intermediate_Dir "Win32_LIB_Release"
|
# PROP Intermediate_Dir "Win32_DLL_Release"
|
||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
@@ -164,22 +112,22 @@ LINK32=link.exe
|
|||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
# ADD LINK32 /nologo /subsystem:console /machine:I386
|
# ADD LINK32 /nologo /subsystem:console /machine:I386
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "example - Win32 LIB Debug"
|
!ELSEIF "$(CFG)" == "example - Win32 DLL Debug"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
# PROP BASE Output_Dir "example___Win32_LIB_Debug"
|
# PROP BASE Output_Dir "example___Win32_DLL_Debug"
|
||||||
# PROP BASE Intermediate_Dir "example___Win32_LIB_Debug"
|
# PROP BASE Intermediate_Dir "example___Win32_DLL_Debug"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_MFC 0
|
# PROP Use_MFC 0
|
||||||
# PROP Use_Debug_Libraries 1
|
# PROP Use_Debug_Libraries 1
|
||||||
# PROP Output_Dir "Win32_LIB_Debug"
|
# PROP Output_Dir "Win32_DLL_Debug"
|
||||||
# PROP Intermediate_Dir "Win32_LIB_Debug"
|
# PROP Intermediate_Dir "Win32_DLL_Debug"
|
||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
@@ -205,7 +153,7 @@ LINK32=link.exe
|
|||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
@@ -231,7 +179,59 @@ LINK32=link.exe
|
|||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
|
||||||
|
# SUBTRACT CPP /YX
|
||||||
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "example - Win32 LIB Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "example___Win32_LIB_Release"
|
||||||
|
# PROP BASE Intermediate_Dir "example___Win32_LIB_Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Win32_LIB_Release"
|
||||||
|
# PROP Intermediate_Dir "Win32_LIB_Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
|
# SUBTRACT BASE CPP /YX
|
||||||
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
|
||||||
|
# SUBTRACT CPP /YX
|
||||||
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 /nologo /subsystem:console /machine:I386
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "example - Win32 LIB Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "example___Win32_LIB_Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "example___Win32_LIB_Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Win32_LIB_Debug"
|
||||||
|
# PROP Intermediate_Dir "Win32_LIB_Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
|
# SUBTRACT BASE CPP /YX
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
@@ -246,14 +246,14 @@ LINK32=link.exe
|
|||||||
|
|
||||||
# Begin Target
|
# Begin Target
|
||||||
|
|
||||||
# Name "example - Win32 DLL Release"
|
|
||||||
# Name "example - Win32 DLL Debug"
|
|
||||||
# Name "example - Win32 DLL ASM Release"
|
# Name "example - Win32 DLL ASM Release"
|
||||||
# Name "example - Win32 DLL ASM Debug"
|
# Name "example - Win32 DLL ASM Debug"
|
||||||
# Name "example - Win32 LIB Release"
|
# Name "example - Win32 DLL Release"
|
||||||
# Name "example - Win32 LIB Debug"
|
# Name "example - Win32 DLL Debug"
|
||||||
# Name "example - Win32 LIB ASM Release"
|
# Name "example - Win32 LIB ASM Release"
|
||||||
# Name "example - Win32 LIB ASM Debug"
|
# Name "example - Win32 LIB ASM Debug"
|
||||||
|
# Name "example - Win32 LIB Release"
|
||||||
|
# Name "example - Win32 LIB Debug"
|
||||||
# Begin Group "Source Files"
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
|||||||
@@ -17,14 +17,14 @@ CFG=minigzip - Win32 LIB Debug
|
|||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE Possible choices for configuration are:
|
!MESSAGE Possible choices for configuration are:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE "minigzip - Win32 DLL Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "minigzip - Win32 DLL Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "minigzip - Win32 DLL ASM Release" (based on "Win32 (x86) Console Application")
|
!MESSAGE "minigzip - Win32 DLL ASM Release" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE "minigzip - Win32 DLL ASM Debug" (based on "Win32 (x86) Console Application")
|
!MESSAGE "minigzip - Win32 DLL ASM Debug" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE "minigzip - Win32 LIB Release" (based on "Win32 (x86) Console Application")
|
!MESSAGE "minigzip - Win32 DLL Release" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE "minigzip - Win32 LIB Debug" (based on "Win32 (x86) Console Application")
|
!MESSAGE "minigzip - Win32 DLL Debug" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE "minigzip - Win32 LIB ASM Release" (based on "Win32 (x86) Console Application")
|
!MESSAGE "minigzip - Win32 LIB ASM Release" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE "minigzip - Win32 LIB ASM Debug" (based on "Win32 (x86) Console Application")
|
!MESSAGE "minigzip - Win32 LIB ASM Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "minigzip - Win32 LIB Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "minigzip - Win32 LIB Debug" (based on "Win32 (x86) Console Application")
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
|
|
||||||
# Begin Project
|
# Begin Project
|
||||||
@@ -34,59 +34,7 @@ CFG=minigzip - Win32 LIB Debug
|
|||||||
CPP=cl.exe
|
CPP=cl.exe
|
||||||
RSC=rc.exe
|
RSC=rc.exe
|
||||||
|
|
||||||
!IF "$(CFG)" == "minigzip - Win32 DLL Release"
|
!IF "$(CFG)" == "minigzip - Win32 DLL ASM Release"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "minigzip___Win32_DLL_Release"
|
|
||||||
# PROP BASE Intermediate_Dir "minigzip___Win32_DLL_Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Win32_DLL_Release"
|
|
||||||
# PROP Intermediate_Dir "Win32_DLL_Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
|
||||||
# SUBTRACT BASE CPP /YX
|
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 /nologo /subsystem:console /machine:I386
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "minigzip - Win32 DLL Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "minigzip___Win32_DLL_Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "minigzip___Win32_DLL_Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Win32_DLL_Debug"
|
|
||||||
# PROP Intermediate_Dir "Win32_DLL_Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
|
||||||
# SUBTRACT BASE CPP /YX
|
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "minigzip - Win32 DLL ASM Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
@@ -101,7 +49,7 @@ LINK32=link.exe
|
|||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
@@ -127,7 +75,7 @@ LINK32=link.exe
|
|||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
@@ -138,22 +86,22 @@ LINK32=link.exe
|
|||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "minigzip - Win32 LIB Release"
|
!ELSEIF "$(CFG)" == "minigzip - Win32 DLL Release"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
# PROP BASE Output_Dir "minigzip___Win32_LIB_Release"
|
# PROP BASE Output_Dir "minigzip___Win32_DLL_Release"
|
||||||
# PROP BASE Intermediate_Dir "minigzip___Win32_LIB_Release"
|
# PROP BASE Intermediate_Dir "minigzip___Win32_DLL_Release"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_MFC 0
|
# PROP Use_MFC 0
|
||||||
# PROP Use_Debug_Libraries 0
|
# PROP Use_Debug_Libraries 0
|
||||||
# PROP Output_Dir "Win32_LIB_Release"
|
# PROP Output_Dir "Win32_DLL_Release"
|
||||||
# PROP Intermediate_Dir "Win32_LIB_Release"
|
# PROP Intermediate_Dir "Win32_DLL_Release"
|
||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
@@ -164,22 +112,22 @@ LINK32=link.exe
|
|||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
# ADD LINK32 /nologo /subsystem:console /machine:I386
|
# ADD LINK32 /nologo /subsystem:console /machine:I386
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "minigzip - Win32 LIB Debug"
|
!ELSEIF "$(CFG)" == "minigzip - Win32 DLL Debug"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
# PROP BASE Output_Dir "minigzip___Win32_LIB_Debug"
|
# PROP BASE Output_Dir "minigzip___Win32_DLL_Debug"
|
||||||
# PROP BASE Intermediate_Dir "minigzip___Win32_LIB_Debug"
|
# PROP BASE Intermediate_Dir "minigzip___Win32_DLL_Debug"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_MFC 0
|
# PROP Use_MFC 0
|
||||||
# PROP Use_Debug_Libraries 1
|
# PROP Use_Debug_Libraries 1
|
||||||
# PROP Output_Dir "Win32_LIB_Debug"
|
# PROP Output_Dir "Win32_DLL_Debug"
|
||||||
# PROP Intermediate_Dir "Win32_LIB_Debug"
|
# PROP Intermediate_Dir "Win32_DLL_Debug"
|
||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
@@ -205,7 +153,7 @@ LINK32=link.exe
|
|||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
@@ -231,7 +179,59 @@ LINK32=link.exe
|
|||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
# SUBTRACT BASE CPP /YX
|
# SUBTRACT BASE CPP /YX
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
|
||||||
|
# SUBTRACT CPP /YX
|
||||||
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "minigzip - Win32 LIB Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "minigzip___Win32_LIB_Release"
|
||||||
|
# PROP BASE Intermediate_Dir "minigzip___Win32_LIB_Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Win32_LIB_Release"
|
||||||
|
# PROP Intermediate_Dir "Win32_LIB_Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
|
# SUBTRACT BASE CPP /YX
|
||||||
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
|
||||||
|
# SUBTRACT CPP /YX
|
||||||
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 /nologo /subsystem:console /machine:I386
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "minigzip - Win32 LIB Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "minigzip___Win32_LIB_Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "minigzip___Win32_LIB_Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Win32_LIB_Debug"
|
||||||
|
# PROP Intermediate_Dir "Win32_LIB_Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
|
# SUBTRACT BASE CPP /YX
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
@@ -246,14 +246,14 @@ LINK32=link.exe
|
|||||||
|
|
||||||
# Begin Target
|
# Begin Target
|
||||||
|
|
||||||
# Name "minigzip - Win32 DLL Release"
|
|
||||||
# Name "minigzip - Win32 DLL Debug"
|
|
||||||
# Name "minigzip - Win32 DLL ASM Release"
|
# Name "minigzip - Win32 DLL ASM Release"
|
||||||
# Name "minigzip - Win32 DLL ASM Debug"
|
# Name "minigzip - Win32 DLL ASM Debug"
|
||||||
# Name "minigzip - Win32 LIB Release"
|
# Name "minigzip - Win32 DLL Release"
|
||||||
# Name "minigzip - Win32 LIB Debug"
|
# Name "minigzip - Win32 DLL Debug"
|
||||||
# Name "minigzip - Win32 LIB ASM Release"
|
# Name "minigzip - Win32 LIB ASM Release"
|
||||||
# Name "minigzip - Win32 LIB ASM Debug"
|
# Name "minigzip - Win32 LIB ASM Debug"
|
||||||
|
# Name "minigzip - Win32 LIB Release"
|
||||||
|
# Name "minigzip - Win32 LIB Debug"
|
||||||
# Begin Group "Source Files"
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
|||||||
@@ -18,14 +18,14 @@ CFG=zlib - Win32 LIB Debug
|
|||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE Possible choices for configuration are:
|
!MESSAGE Possible choices for configuration are:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE "zlib - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE "zlib - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE "zlib - Win32 DLL ASM Release" (based on "Win32 (x86) Dynamic-Link Library")
|
!MESSAGE "zlib - Win32 DLL ASM Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
!MESSAGE "zlib - Win32 DLL ASM Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
!MESSAGE "zlib - Win32 DLL ASM Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
!MESSAGE "zlib - Win32 LIB Release" (based on "Win32 (x86) Static Library")
|
!MESSAGE "zlib - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
!MESSAGE "zlib - Win32 LIB Debug" (based on "Win32 (x86) Static Library")
|
!MESSAGE "zlib - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
!MESSAGE "zlib - Win32 LIB ASM Release" (based on "Win32 (x86) Static Library")
|
!MESSAGE "zlib - Win32 LIB ASM Release" (based on "Win32 (x86) Static Library")
|
||||||
!MESSAGE "zlib - Win32 LIB ASM Debug" (based on "Win32 (x86) Static Library")
|
!MESSAGE "zlib - Win32 LIB ASM Debug" (based on "Win32 (x86) Static Library")
|
||||||
|
!MESSAGE "zlib - Win32 LIB Release" (based on "Win32 (x86) Static Library")
|
||||||
|
!MESSAGE "zlib - Win32 LIB Debug" (based on "Win32 (x86) Static Library")
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
|
|
||||||
# Begin Project
|
# Begin Project
|
||||||
@@ -33,69 +33,7 @@ CFG=zlib - Win32 LIB Debug
|
|||||||
# PROP Scc_ProjName ""
|
# PROP Scc_ProjName ""
|
||||||
# PROP Scc_LocalPath ""
|
# PROP Scc_LocalPath ""
|
||||||
|
|
||||||
!IF "$(CFG)" == "zlib - Win32 DLL Release"
|
!IF "$(CFG)" == "zlib - Win32 DLL ASM Release"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "zlib___Win32_DLL_Release"
|
|
||||||
# PROP BASE Intermediate_Dir "zlib___Win32_DLL_Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Win32_DLL_Release"
|
|
||||||
# PROP Intermediate_Dir "Win32_DLL_Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
CPP=cl.exe
|
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
|
||||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
|
||||||
MTL=midl.exe
|
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
RSC=rc.exe
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
|
||||||
# ADD LINK32 /nologo /dll /machine:I386 /out:"Win32_DLL_Release\zlib1.dll"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "zlib___Win32_DLL_Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "zlib___Win32_DLL_Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Win32_DLL_Debug"
|
|
||||||
# PROP Intermediate_Dir "Win32_DLL_Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
CPP=cl.exe
|
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
|
||||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
|
||||||
MTL=midl.exe
|
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
|
||||||
RSC=rc.exe
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 /nologo /dll /debug /machine:I386 /out:"Win32_DLL_Debug\zlib1d.dll" /pdbtype:sept
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL ASM Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
@@ -111,7 +49,7 @@ LINK32=link.exe
|
|||||||
CPP=cl.exe
|
CPP=cl.exe
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "ASMV" /D "ASMINF" /FD /c
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /D "ASMV" /D "ASMINF" /FD /c
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
# SUBTRACT CPP /YX /Yc /Yu
|
||||||
MTL=midl.exe
|
MTL=midl.exe
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
@@ -142,7 +80,7 @@ LINK32=link.exe
|
|||||||
CPP=cl.exe
|
CPP=cl.exe
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "ASMV" /D "ASMINF" /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /D "ASMV" /D "ASMINF" /FR /FD /GZ /c
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
# SUBTRACT CPP /YX /Yc /Yu
|
||||||
MTL=midl.exe
|
MTL=midl.exe
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
@@ -157,59 +95,67 @@ LINK32=link.exe
|
|||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 /nologo /dll /debug /machine:I386 /out:"Win32_DLL_ASM_Debug\zlib1d.dll" /pdbtype:sept
|
# ADD LINK32 /nologo /dll /debug /machine:I386 /out:"Win32_DLL_ASM_Debug\zlib1d.dll" /pdbtype:sept
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Release"
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Release"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
# PROP BASE Output_Dir "zlib___Win32_LIB_Release"
|
# PROP BASE Output_Dir "zlib___Win32_DLL_Release"
|
||||||
# PROP BASE Intermediate_Dir "zlib___Win32_LIB_Release"
|
# PROP BASE Intermediate_Dir "zlib___Win32_DLL_Release"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_MFC 0
|
# PROP Use_MFC 0
|
||||||
# PROP Use_Debug_Libraries 0
|
# PROP Use_Debug_Libraries 0
|
||||||
# PROP Output_Dir "Win32_LIB_Release"
|
# PROP Output_Dir "Win32_DLL_Release"
|
||||||
# PROP Intermediate_Dir "Win32_LIB_Release"
|
# PROP Intermediate_Dir "Win32_DLL_Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
CPP=cl.exe
|
CPP=cl.exe
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
# SUBTRACT CPP /YX /Yc /Yu
|
||||||
|
MTL=midl.exe
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
RSC=rc.exe
|
RSC=rc.exe
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
# ADD BASE BSC32 /nologo
|
# ADD BASE BSC32 /nologo
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LIB32=link.exe -lib
|
LINK32=link.exe
|
||||||
# ADD BASE LIB32 /nologo
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LIB32 /nologo
|
# ADD LINK32 /nologo /dll /machine:I386 /out:"Win32_DLL_Release\zlib1.dll"
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Debug"
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Debug"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
# PROP BASE Output_Dir "zlib___Win32_LIB_Debug"
|
# PROP BASE Output_Dir "zlib___Win32_DLL_Debug"
|
||||||
# PROP BASE Intermediate_Dir "zlib___Win32_LIB_Debug"
|
# PROP BASE Intermediate_Dir "zlib___Win32_DLL_Debug"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_MFC 0
|
# PROP Use_MFC 0
|
||||||
# PROP Use_Debug_Libraries 1
|
# PROP Use_Debug_Libraries 1
|
||||||
# PROP Output_Dir "Win32_LIB_Debug"
|
# PROP Output_Dir "Win32_DLL_Debug"
|
||||||
# PROP Intermediate_Dir "Win32_LIB_Debug"
|
# PROP Intermediate_Dir "Win32_DLL_Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
CPP=cl.exe
|
CPP=cl.exe
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
# SUBTRACT CPP /YX /Yc /Yu
|
||||||
|
MTL=midl.exe
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
RSC=rc.exe
|
RSC=rc.exe
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
# ADD BASE BSC32 /nologo
|
# ADD BASE BSC32 /nologo
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LIB32=link.exe -lib
|
LINK32=link.exe
|
||||||
# ADD BASE LIB32 /nologo
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LIB32 /nologo /out:"Win32_LIB_Debug\zlibd.lib"
|
# ADD LINK32 /nologo /dll /debug /machine:I386 /out:"Win32_DLL_Debug\zlib1d.dll" /pdbtype:sept
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB ASM Release"
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB ASM Release"
|
||||||
|
|
||||||
@@ -226,7 +172,7 @@ LIB32=link.exe -lib
|
|||||||
CPP=cl.exe
|
CPP=cl.exe
|
||||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||||
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "ASMV" /D "ASMINF" /FD /c
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /D "ASMV" /D "ASMINF" /FD /c
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
# SUBTRACT CPP /YX /Yc /Yu
|
||||||
RSC=rc.exe
|
RSC=rc.exe
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
@@ -253,7 +199,7 @@ LIB32=link.exe -lib
|
|||||||
CPP=cl.exe
|
CPP=cl.exe
|
||||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "ASMV" /D "ASMINF" /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /D "ASMV" /D "ASMINF" /FR /FD /GZ /c
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
# SUBTRACT CPP /YX /Yc /Yu
|
||||||
RSC=rc.exe
|
RSC=rc.exe
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
@@ -265,18 +211,72 @@ LIB32=link.exe -lib
|
|||||||
# ADD BASE LIB32 /nologo
|
# ADD BASE LIB32 /nologo
|
||||||
# ADD LIB32 /nologo /out:"Win32_LIB_ASM_Debug\zlibd.lib"
|
# ADD LIB32 /nologo /out:"Win32_LIB_ASM_Debug\zlibd.lib"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "zlib___Win32_LIB_Release"
|
||||||
|
# PROP BASE Intermediate_Dir "zlib___Win32_LIB_Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Win32_LIB_Release"
|
||||||
|
# PROP Intermediate_Dir "Win32_LIB_Release"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
CPP=cl.exe
|
||||||
|
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||||
|
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||||
|
# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
|
||||||
|
# SUBTRACT CPP /YX /Yc /Yu
|
||||||
|
RSC=rc.exe
|
||||||
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LIB32=link.exe -lib
|
||||||
|
# ADD BASE LIB32 /nologo
|
||||||
|
# ADD LIB32 /nologo
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "zlib___Win32_LIB_Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "zlib___Win32_LIB_Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Win32_LIB_Debug"
|
||||||
|
# PROP Intermediate_Dir "Win32_LIB_Debug"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
CPP=cl.exe
|
||||||
|
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||||
|
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
|
||||||
|
# SUBTRACT CPP /YX /Yc /Yu
|
||||||
|
RSC=rc.exe
|
||||||
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LIB32=link.exe -lib
|
||||||
|
# ADD BASE LIB32 /nologo
|
||||||
|
# ADD LIB32 /nologo /out:"Win32_LIB_Debug\zlibd.lib"
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
# Begin Target
|
# Begin Target
|
||||||
|
|
||||||
# Name "zlib - Win32 DLL Release"
|
|
||||||
# Name "zlib - Win32 DLL Debug"
|
|
||||||
# Name "zlib - Win32 DLL ASM Release"
|
# Name "zlib - Win32 DLL ASM Release"
|
||||||
# Name "zlib - Win32 DLL ASM Debug"
|
# Name "zlib - Win32 DLL ASM Debug"
|
||||||
# Name "zlib - Win32 LIB Release"
|
# Name "zlib - Win32 DLL Release"
|
||||||
# Name "zlib - Win32 LIB Debug"
|
# Name "zlib - Win32 DLL Debug"
|
||||||
# Name "zlib - Win32 LIB ASM Release"
|
# Name "zlib - Win32 LIB ASM Release"
|
||||||
# Name "zlib - Win32 LIB ASM Debug"
|
# Name "zlib - Win32 LIB ASM Debug"
|
||||||
|
# Name "zlib - Win32 LIB Release"
|
||||||
|
# Name "zlib - Win32 LIB Debug"
|
||||||
# Begin Group "Source Files"
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
@@ -328,21 +328,13 @@ SOURCE=..\..\uncompr.c
|
|||||||
|
|
||||||
SOURCE=..\..\win32\zlib.def
|
SOURCE=..\..\win32\zlib.def
|
||||||
|
|
||||||
!IF "$(CFG)" == "zlib - Win32 DLL Release"
|
!IF "$(CFG)" == "zlib - Win32 DLL ASM Release"
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Debug"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL ASM Release"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL ASM Debug"
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL ASM Debug"
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Release"
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Release"
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Debug"
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Debug"
|
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB ASM Release"
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB ASM Release"
|
||||||
|
|
||||||
@@ -352,6 +344,14 @@ SOURCE=..\..\win32\zlib.def
|
|||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Release"
|
||||||
|
|
||||||
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Debug"
|
||||||
|
|
||||||
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
# End Source File
|
# End Source File
|
||||||
@@ -419,15 +419,7 @@ SOURCE=..\..\win32\zlib1.rc
|
|||||||
|
|
||||||
SOURCE=..\..\contrib\masmx86\gvmat32.asm
|
SOURCE=..\..\contrib\masmx86\gvmat32.asm
|
||||||
|
|
||||||
!IF "$(CFG)" == "zlib - Win32 DLL Release"
|
!IF "$(CFG)" == "zlib - Win32 DLL ASM Release"
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Debug"
|
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL ASM Release"
|
|
||||||
|
|
||||||
# Begin Custom Build - Assembling...
|
# Begin Custom Build - Assembling...
|
||||||
IntDir=.\Win32_DLL_ASM_Release
|
IntDir=.\Win32_DLL_ASM_Release
|
||||||
@@ -451,11 +443,11 @@ InputName=gvmat32
|
|||||||
|
|
||||||
# End Custom Build
|
# End Custom Build
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Release"
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Release"
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Debug"
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Debug"
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
@@ -483,6 +475,14 @@ InputName=gvmat32
|
|||||||
|
|
||||||
# End Custom Build
|
# End Custom Build
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Release"
|
||||||
|
|
||||||
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Debug"
|
||||||
|
|
||||||
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
# End Source File
|
# End Source File
|
||||||
@@ -490,7 +490,15 @@ InputName=gvmat32
|
|||||||
|
|
||||||
SOURCE=..\..\contrib\masmx86\gvmat32c.c
|
SOURCE=..\..\contrib\masmx86\gvmat32c.c
|
||||||
|
|
||||||
!IF "$(CFG)" == "zlib - Win32 DLL Release"
|
!IF "$(CFG)" == "zlib - Win32 DLL ASM Release"
|
||||||
|
|
||||||
|
# ADD CPP /I "..\.."
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL ASM Debug"
|
||||||
|
|
||||||
|
# ADD CPP /I "..\.."
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Release"
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
# PROP Exclude_From_Build 1
|
||||||
# ADD CPP /I "..\.."
|
# ADD CPP /I "..\.."
|
||||||
@@ -500,11 +508,11 @@ SOURCE=..\..\contrib\masmx86\gvmat32c.c
|
|||||||
# PROP Exclude_From_Build 1
|
# PROP Exclude_From_Build 1
|
||||||
# ADD CPP /I "..\.."
|
# ADD CPP /I "..\.."
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL ASM Release"
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB ASM Release"
|
||||||
|
|
||||||
# ADD CPP /I "..\.."
|
# ADD CPP /I "..\.."
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL ASM Debug"
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB ASM Debug"
|
||||||
|
|
||||||
# ADD CPP /I "..\.."
|
# ADD CPP /I "..\.."
|
||||||
|
|
||||||
@@ -518,14 +526,6 @@ SOURCE=..\..\contrib\masmx86\gvmat32c.c
|
|||||||
# PROP Exclude_From_Build 1
|
# PROP Exclude_From_Build 1
|
||||||
# ADD CPP /I "..\.."
|
# ADD CPP /I "..\.."
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB ASM Release"
|
|
||||||
|
|
||||||
# ADD CPP /I "..\.."
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB ASM Debug"
|
|
||||||
|
|
||||||
# ADD CPP /I "..\.."
|
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
# End Source File
|
# End Source File
|
||||||
@@ -533,15 +533,7 @@ SOURCE=..\..\contrib\masmx86\gvmat32c.c
|
|||||||
|
|
||||||
SOURCE=..\..\contrib\masmx86\inffas32.asm
|
SOURCE=..\..\contrib\masmx86\inffas32.asm
|
||||||
|
|
||||||
!IF "$(CFG)" == "zlib - Win32 DLL Release"
|
!IF "$(CFG)" == "zlib - Win32 DLL ASM Release"
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Debug"
|
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 DLL ASM Release"
|
|
||||||
|
|
||||||
# Begin Custom Build - Assembling...
|
# Begin Custom Build - Assembling...
|
||||||
IntDir=.\Win32_DLL_ASM_Release
|
IntDir=.\Win32_DLL_ASM_Release
|
||||||
@@ -565,11 +557,11 @@ InputName=inffas32
|
|||||||
|
|
||||||
# End Custom Build
|
# End Custom Build
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Release"
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Release"
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Debug"
|
!ELSEIF "$(CFG)" == "zlib - Win32 DLL Debug"
|
||||||
|
|
||||||
# PROP Exclude_From_Build 1
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
@@ -597,6 +589,14 @@ InputName=inffas32
|
|||||||
|
|
||||||
# End Custom Build
|
# End Custom Build
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Release"
|
||||||
|
|
||||||
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zlib - Win32 LIB Debug"
|
||||||
|
|
||||||
|
# PROP Exclude_From_Build 1
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
# End Source File
|
# End Source 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.2.3" install="/opt/lib/" user="root:bin" permission="644"/>
|
<QPG:Add file="../libz.so.1.2.3.2" 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.2.3"/>
|
<QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.3.2"/>
|
||||||
<QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.2.3"/>
|
<QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.3.2"/>
|
||||||
<QPG:Add file="../libz.so.1.2.2.3" install="/opt/lib/" component="slib"/>
|
<QPG:Add file="../libz.so.1.2.3.2" 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.2.3</QPM:ReleaseVersion>
|
<QPM:ReleaseVersion>1.2.3.2</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>
|
||||||
|
|||||||
114
treebuild.xml
Normal file
114
treebuild.xml
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<package name="zlib" version="1.2.3">
|
||||||
|
<library name="zlib" dlversion="1.2.3" dlname="z">
|
||||||
|
<property name="description"> zip compression library </property>
|
||||||
|
<property name="include-target-dir" value="$(@PACKAGE/install-includedir)" />
|
||||||
|
|
||||||
|
<!-- fixme: not implemented yet -->
|
||||||
|
<property name="compiler/c/inline" value="yes" />
|
||||||
|
|
||||||
|
<include-file name="zlib.h" scope="public" mode="644" />
|
||||||
|
<include-file name="zconf.h" scope="public" mode="644" />
|
||||||
|
<include-file name="zlibdefs.h" scope="public" mode="644" />
|
||||||
|
|
||||||
|
<source name="adler32.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
</source>
|
||||||
|
<source name="compress.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
</source>
|
||||||
|
<source name="crc32.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
<depend name="crc32.h" />
|
||||||
|
</source>
|
||||||
|
<source name="gzio.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
<depend name="zutil.h" />
|
||||||
|
</source>
|
||||||
|
<source name="uncompr.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
</source>
|
||||||
|
<source name="deflate.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
<depend name="zutil.h" />
|
||||||
|
<depend name="deflate.h" />
|
||||||
|
</source>
|
||||||
|
<source name="trees.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
<depend name="zutil.h" />
|
||||||
|
<depend name="deflate.h" />
|
||||||
|
<depend name="trees.h" />
|
||||||
|
</source>
|
||||||
|
<source name="zutil.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
<depend name="zutil.h" />
|
||||||
|
</source>
|
||||||
|
<source name="inflate.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
<depend name="zutil.h" />
|
||||||
|
<depend name="inftrees.h" />
|
||||||
|
<depend name="inflate.h" />
|
||||||
|
<depend name="inffast.h" />
|
||||||
|
</source>
|
||||||
|
<source name="infback.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
<depend name="zutil.h" />
|
||||||
|
<depend name="inftrees.h" />
|
||||||
|
<depend name="inflate.h" />
|
||||||
|
<depend name="inffast.h" />
|
||||||
|
</source>
|
||||||
|
<source name="inftrees.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
<depend name="zutil.h" />
|
||||||
|
<depend name="inftrees.h" />
|
||||||
|
</source>
|
||||||
|
<source name="inffast.c">
|
||||||
|
<depend name="zlib.h" />
|
||||||
|
<depend name="zconf.h" />
|
||||||
|
<depend name="zlibdefs.h" />
|
||||||
|
<depend name="zutil.h" />
|
||||||
|
<depend name="inftrees.h" />
|
||||||
|
<depend name="inflate.h" />
|
||||||
|
<depend name="inffast.h" />
|
||||||
|
</source>
|
||||||
|
</library>
|
||||||
|
</package>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
CFLAGS=-O
|
||||||
|
#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
|
||||||
|
#CFLAGS=-g -DDEBUG
|
||||||
|
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
|
||||||
|
# -Wstrict-prototypes -Wmissing-prototypes
|
||||||
|
|
||||||
|
# OBJA =
|
||||||
|
# to use the asm code: make OBJA=match.o
|
||||||
|
#
|
||||||
|
match.o: match.S
|
||||||
|
$(CPP) match.S > _match.s
|
||||||
|
$(CC) -c _match.s
|
||||||
|
mv _match.o match.o
|
||||||
|
rm -f _match.s
|
||||||
|
-->
|
||||||
56
trees.c
56
trees.c
@@ -1,5 +1,6 @@
|
|||||||
/* trees.c -- output deflated data using Huffman coding
|
/* trees.c -- output deflated data using Huffman coding
|
||||||
* Copyright (C) 1995-2004 Jean-loup Gailly
|
* Copyright (C) 1995-2006 Jean-loup Gailly
|
||||||
|
* detect_data_type() function provided freely by Cosmin Truta, 2006
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -152,7 +153,7 @@ local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
|
|||||||
int blcodes));
|
int blcodes));
|
||||||
local void compress_block OF((deflate_state *s, ct_data *ltree,
|
local void compress_block OF((deflate_state *s, ct_data *ltree,
|
||||||
ct_data *dtree));
|
ct_data *dtree));
|
||||||
local void set_data_type OF((deflate_state *s));
|
local int detect_data_type OF((deflate_state *s));
|
||||||
local unsigned bi_reverse OF((unsigned value, int length));
|
local unsigned bi_reverse OF((unsigned value, int length));
|
||||||
local void bi_windup OF((deflate_state *s));
|
local void bi_windup OF((deflate_state *s));
|
||||||
local void bi_flush OF((deflate_state *s));
|
local void bi_flush OF((deflate_state *s));
|
||||||
@@ -250,11 +251,13 @@ local void tr_static_init()
|
|||||||
if (static_init_done) return;
|
if (static_init_done) return;
|
||||||
|
|
||||||
/* For some embedded targets, global variables are not initialized: */
|
/* For some embedded targets, global variables are not initialized: */
|
||||||
|
#ifdef NO_INIT_GLOBAL_POINTERS
|
||||||
static_l_desc.static_tree = static_ltree;
|
static_l_desc.static_tree = static_ltree;
|
||||||
static_l_desc.extra_bits = extra_lbits;
|
static_l_desc.extra_bits = extra_lbits;
|
||||||
static_d_desc.static_tree = static_dtree;
|
static_d_desc.static_tree = static_dtree;
|
||||||
static_d_desc.extra_bits = extra_dbits;
|
static_d_desc.extra_bits = extra_dbits;
|
||||||
static_bl_desc.extra_bits = extra_blbits;
|
static_bl_desc.extra_bits = extra_blbits;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Initialize the mapping length (0..255) -> length code (0..28) */
|
/* Initialize the mapping length (0..255) -> length code (0..28) */
|
||||||
length = 0;
|
length = 0;
|
||||||
@@ -555,7 +558,7 @@ local void gen_bitlen(s, desc)
|
|||||||
while (n != 0) {
|
while (n != 0) {
|
||||||
m = s->heap[--h];
|
m = s->heap[--h];
|
||||||
if (m > max_code) continue;
|
if (m > max_code) continue;
|
||||||
if (tree[m].Len != (unsigned) bits) {
|
if ((unsigned) tree[m].Len != (unsigned) bits) {
|
||||||
Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
|
Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
|
||||||
s->opt_len += ((long)bits - (long)tree[m].Len)
|
s->opt_len += ((long)bits - (long)tree[m].Len)
|
||||||
*(long)tree[m].Freq;
|
*(long)tree[m].Freq;
|
||||||
@@ -931,8 +934,8 @@ void _tr_flush_block(s, buf, stored_len, eof)
|
|||||||
if (s->level > 0) {
|
if (s->level > 0) {
|
||||||
|
|
||||||
/* Check if the file is binary or text */
|
/* Check if the file is binary or text */
|
||||||
if (stored_len > 0 && s->strm->data_type == Z_UNKNOWN)
|
if (s->strm->data_type == Z_UNKNOWN)
|
||||||
set_data_type(s);
|
s->strm->data_type = detect_data_type(s);
|
||||||
|
|
||||||
/* Construct the literal and distance trees */
|
/* Construct the literal and distance trees */
|
||||||
build_tree(s, (tree_desc *)(&(s->l_desc)));
|
build_tree(s, (tree_desc *)(&(s->l_desc)));
|
||||||
@@ -1118,24 +1121,45 @@ local void compress_block(s, ltree, dtree)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* ===========================================================================
|
/* ===========================================================================
|
||||||
* Set the data type to BINARY or TEXT, using a crude approximation:
|
* Check if the data type is TEXT or BINARY, using the following algorithm:
|
||||||
* set it to Z_TEXT if all symbols are either printable characters (33 to 255)
|
* - TEXT if the two conditions below are satisfied:
|
||||||
* or white spaces (9 to 13, or 32); or set it to Z_BINARY otherwise.
|
* a) There are no non-portable control characters belonging to the
|
||||||
|
* "black list" (0..6, 14..25, 28..31).
|
||||||
|
* b) There is at least one printable character belonging to the
|
||||||
|
* "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
|
||||||
|
* - BINARY otherwise.
|
||||||
|
* - The following partially-portable control characters form a
|
||||||
|
* "gray list" that is ignored in this detection algorithm:
|
||||||
|
* (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
|
||||||
* IN assertion: the fields Freq of dyn_ltree are set.
|
* IN assertion: the fields Freq of dyn_ltree are set.
|
||||||
*/
|
*/
|
||||||
local void set_data_type(s)
|
local int detect_data_type(s)
|
||||||
deflate_state *s;
|
deflate_state *s;
|
||||||
{
|
{
|
||||||
|
/* black_mask is the bit mask of black-listed bytes
|
||||||
|
* set bits 0..6, 14..25, and 28..31
|
||||||
|
* 0xf3ffc07f = binary 11110011111111111100000001111111
|
||||||
|
*/
|
||||||
|
unsigned long black_mask = 0xf3ffc07fUL;
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
for (n = 0; n < 9; n++)
|
/* Check for non-textual ("black-listed") bytes. */
|
||||||
|
for (n = 0; n <= 31; n++, black_mask >>= 1)
|
||||||
|
if ((black_mask & 1) && (s->dyn_ltree[n].Freq != 0))
|
||||||
|
return Z_BINARY;
|
||||||
|
|
||||||
|
/* Check for textual ("white-listed") bytes. */
|
||||||
|
if (s->dyn_ltree[9].Freq != 0 || s->dyn_ltree[10].Freq != 0
|
||||||
|
|| s->dyn_ltree[13].Freq != 0)
|
||||||
|
return Z_TEXT;
|
||||||
|
for (n = 32; n < LITERALS; n++)
|
||||||
if (s->dyn_ltree[n].Freq != 0)
|
if (s->dyn_ltree[n].Freq != 0)
|
||||||
break;
|
return Z_TEXT;
|
||||||
if (n == 9)
|
|
||||||
for (n = 14; n < 32; n++)
|
/* There are no "black-listed" or "white-listed" bytes:
|
||||||
if (s->dyn_ltree[n].Freq != 0)
|
* this stream either is empty or has tolerated ("gray-listed") bytes only.
|
||||||
break;
|
*/
|
||||||
s->strm->data_type = (n == 32) ? Z_TEXT : Z_BINARY;
|
return Z_BINARY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ===========================================================================
|
/* ===========================================================================
|
||||||
|
|||||||
40
watcom/watcom_f.mak
Normal file
40
watcom/watcom_f.mak
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# Makefile for zlib
|
||||||
|
# OpenWatcom flat model
|
||||||
|
# Last updated: 28-Dec-2005
|
||||||
|
|
||||||
|
# To use, do "wmake -f watcom_f.mak"
|
||||||
|
|
||||||
|
C_SOURCE = adler32.c compress.c crc32.c deflate.c &
|
||||||
|
gzio.c infback.c inffast.c inflate.c &
|
||||||
|
inftrees.c trees.c uncompr.c zutil.c
|
||||||
|
|
||||||
|
OBJS = adler32.obj compress.obj crc32.obj deflate.obj &
|
||||||
|
gzio.obj infback.obj inffast.obj inflate.obj &
|
||||||
|
inftrees.obj trees.obj uncompr.obj zutil.obj
|
||||||
|
|
||||||
|
CC = wcc386
|
||||||
|
LINKER = wcl386
|
||||||
|
CFLAGS = -zq -mf -3r -fp3 -s -bt=dos -oilrtfm -fr=nul -wx
|
||||||
|
ZLIB_LIB = zlib_f.lib
|
||||||
|
|
||||||
|
.C.OBJ:
|
||||||
|
$(CC) $(CFLAGS) $[@
|
||||||
|
|
||||||
|
all: $(ZLIB_LIB) example.exe minigzip.exe
|
||||||
|
|
||||||
|
$(ZLIB_LIB): $(OBJS)
|
||||||
|
wlib -b -c $(ZLIB_LIB) -+adler32.obj -+compress.obj -+crc32.obj
|
||||||
|
wlib -b -c $(ZLIB_LIB) -+deflate.obj -+gzio.obj -+infback.obj
|
||||||
|
wlib -b -c $(ZLIB_LIB) -+inffast.obj -+inflate.obj -+inftrees.obj
|
||||||
|
wlib -b -c $(ZLIB_LIB) -+trees.obj -+uncompr.obj -+zutil.obj
|
||||||
|
|
||||||
|
example.exe: $(ZLIB_LIB) example.obj
|
||||||
|
$(LINKER) -ldos32a -fe=example.exe example.obj $(ZLIB_LIB)
|
||||||
|
|
||||||
|
minigzip.exe: $(ZLIB_LIB) minigzip.obj
|
||||||
|
$(LINKER) -ldos32a -fe=minigzip.exe minigzip.obj $(ZLIB_LIB)
|
||||||
|
|
||||||
|
clean: .SYMBOLIC
|
||||||
|
del *.obj
|
||||||
|
del $(ZLIB_LIB)
|
||||||
|
@echo Cleaning done
|
||||||
40
watcom/watcom_l.mak
Normal file
40
watcom/watcom_l.mak
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# Makefile for zlib
|
||||||
|
# OpenWatcom large model
|
||||||
|
# Last updated: 28-Dec-2005
|
||||||
|
|
||||||
|
# To use, do "wmake -f watcom_l.mak"
|
||||||
|
|
||||||
|
C_SOURCE = adler32.c compress.c crc32.c deflate.c &
|
||||||
|
gzio.c infback.c inffast.c inflate.c &
|
||||||
|
inftrees.c trees.c uncompr.c zutil.c
|
||||||
|
|
||||||
|
OBJS = adler32.obj compress.obj crc32.obj deflate.obj &
|
||||||
|
gzio.obj infback.obj inffast.obj inflate.obj &
|
||||||
|
inftrees.obj trees.obj uncompr.obj zutil.obj
|
||||||
|
|
||||||
|
CC = wcc
|
||||||
|
LINKER = wcl
|
||||||
|
CFLAGS = -zq -ml -s -bt=dos -oilrtfm -fr=nul -wx
|
||||||
|
ZLIB_LIB = zlib_l.lib
|
||||||
|
|
||||||
|
.C.OBJ:
|
||||||
|
$(CC) $(CFLAGS) $[@
|
||||||
|
|
||||||
|
all: $(ZLIB_LIB) example.exe minigzip.exe
|
||||||
|
|
||||||
|
$(ZLIB_LIB): $(OBJS)
|
||||||
|
wlib -b -c $(ZLIB_LIB) -+adler32.obj -+compress.obj -+crc32.obj
|
||||||
|
wlib -b -c $(ZLIB_LIB) -+deflate.obj -+gzio.obj -+infback.obj
|
||||||
|
wlib -b -c $(ZLIB_LIB) -+inffast.obj -+inflate.obj -+inftrees.obj
|
||||||
|
wlib -b -c $(ZLIB_LIB) -+trees.obj -+uncompr.obj -+zutil.obj
|
||||||
|
|
||||||
|
example.exe: $(ZLIB_LIB) example.obj
|
||||||
|
$(LINKER) -fe=example.exe example.obj $(ZLIB_LIB)
|
||||||
|
|
||||||
|
minigzip.exe: $(ZLIB_LIB) minigzip.obj
|
||||||
|
$(LINKER) -fe=minigzip.exe minigzip.obj $(ZLIB_LIB)
|
||||||
|
|
||||||
|
clean: .SYMBOLIC
|
||||||
|
del *.obj
|
||||||
|
del $(ZLIB_LIB)
|
||||||
|
@echo Cleaning done
|
||||||
@@ -16,7 +16,7 @@ in the zlib distribution, or at the following location:
|
|||||||
|
|
||||||
Pointers to a precompiled ZLIB1.DLL can be found in the zlib
|
Pointers to a precompiled ZLIB1.DLL can be found in the zlib
|
||||||
web site at:
|
web site at:
|
||||||
http://www.zlib.org/
|
http://www.zlib.net/
|
||||||
|
|
||||||
Applications that link to ZLIB1.DLL can rely on the following
|
Applications that link to ZLIB1.DLL can rely on the following
|
||||||
specification:
|
specification:
|
||||||
@@ -350,9 +350,9 @@ in the zlib distribution, or at the following location:
|
|||||||
your build is unofficial. You should give it a different file
|
your build is unofficial. You should give it a different file
|
||||||
name, and/or install it in a private directory that can be
|
name, and/or install it in a private directory that can be
|
||||||
accessed by your application only, and is not visible to the
|
accessed by your application only, and is not visible to the
|
||||||
others (e.g. it's not in the SYSTEM or the SYSTEM32 directory,
|
others (i.e. it's neither in the PATH, nor in the SYSTEM or
|
||||||
and it's not in the PATH). Otherwise, your build may clash
|
SYSTEM32 directories). Otherwise, your build may clash with
|
||||||
with applications that link to the official build.
|
applications that link to the official build.
|
||||||
|
|
||||||
For example, in Cygwin, zlib is linked to the Cygwin runtime
|
For example, in Cygwin, zlib is linked to the Cygwin runtime
|
||||||
CYGWIN1.DLL, and it is distributed under the name CYGZ.DLL.
|
CYGWIN1.DLL, and it is distributed under the name CYGZ.DLL.
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
# Makefile for zlib
|
# Makefile for zlib
|
||||||
# Borland C++ for Win32
|
# Borland C++ for Win32
|
||||||
#
|
#
|
||||||
# Updated for zlib 1.2.x by Cosmin Truta, 11-Mar-2003
|
|
||||||
# Last updated: 28-Aug-2003
|
|
||||||
#
|
|
||||||
# Usage:
|
# Usage:
|
||||||
# make -f win32/Makefile.bor
|
# make -f win32/Makefile.bor
|
||||||
# make -f win32/Makefile.bor LOCAL_ZLIB=-DASMV OBJA=match.obj OBJPA=+match.obj
|
# make -f win32/Makefile.bor LOCAL_ZLIB=-DASMV OBJA=match.obj OBJPA=+match.obj
|
||||||
@@ -99,8 +96,8 @@ minigzip.exe: minigzip.obj $(ZLIB_LIB)
|
|||||||
|
|
||||||
# cleanup
|
# cleanup
|
||||||
clean:
|
clean:
|
||||||
|
-del $(ZLIB_LIB)
|
||||||
-del *.obj
|
-del *.obj
|
||||||
-del *.lib
|
|
||||||
-del *.exe
|
-del *.exe
|
||||||
-del *.tds
|
-del *.tds
|
||||||
-del zlib.bak
|
-del zlib.bak
|
||||||
|
|||||||
@@ -1,11 +1,5 @@
|
|||||||
# Makefile for zlib -- Microsoft (Visual) C
|
# Makefile for zlib using Microsoft (Visual) C
|
||||||
#
|
# zlib is copyright (C) 1995-2006 Jean-loup Gailly and Mark Adler
|
||||||
# Authors:
|
|
||||||
# Cosmin Truta, 11-Mar-2003
|
|
||||||
# Christian Spieler, 19-Mar-2003
|
|
||||||
#
|
|
||||||
# Last updated:
|
|
||||||
# Cosmin Truta, 27-Aug-2003
|
|
||||||
#
|
#
|
||||||
# Usage:
|
# Usage:
|
||||||
# nmake -f win32/Makefile.msc (standard build)
|
# nmake -f win32/Makefile.msc (standard build)
|
||||||
@@ -27,9 +21,10 @@ AS = ml
|
|||||||
LD = link
|
LD = link
|
||||||
AR = lib
|
AR = lib
|
||||||
RC = rc
|
RC = rc
|
||||||
CFLAGS = -nologo -MD -O2 $(LOC)
|
CFLAGS = -nologo -MD -O2 -Oy- $(LOC)
|
||||||
|
WFLAGS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
|
||||||
ASFLAGS = -coff
|
ASFLAGS = -coff
|
||||||
LDFLAGS = -nologo -release
|
LDFLAGS = -nologo -debug -release
|
||||||
ARFLAGS = -nologo
|
ARFLAGS = -nologo
|
||||||
RCFLAGS = /dWIN32 /r
|
RCFLAGS = /dWIN32 /r
|
||||||
|
|
||||||
@@ -50,21 +45,31 @@ $(IMPLIB): $(SHAREDLIB)
|
|||||||
$(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlib1.res
|
$(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlib1.res
|
||||||
$(LD) $(LDFLAGS) -def:win32/zlib.def -dll -implib:$(IMPLIB) \
|
$(LD) $(LDFLAGS) -def:win32/zlib.def -dll -implib:$(IMPLIB) \
|
||||||
-out:$@ $(OBJS) $(OBJA) zlib1.res
|
-out:$@ $(OBJS) $(OBJA) zlib1.res
|
||||||
|
if exist $@.manifest \
|
||||||
|
mt -nologo -manifest $@.manifest -outputresource:$@;2
|
||||||
|
|
||||||
example.exe: example.obj $(STATICLIB)
|
example.exe: example.obj $(STATICLIB)
|
||||||
$(LD) $(LDFLAGS) example.obj $(STATICLIB)
|
$(LD) $(LDFLAGS) example.obj $(STATICLIB)
|
||||||
|
if exist $@.manifest \
|
||||||
|
mt -nologo -manifest $@.manifest -outputresource:$@;1
|
||||||
|
|
||||||
minigzip.exe: minigzip.obj $(STATICLIB)
|
minigzip.exe: minigzip.obj $(STATICLIB)
|
||||||
$(LD) $(LDFLAGS) minigzip.obj $(STATICLIB)
|
$(LD) $(LDFLAGS) minigzip.obj $(STATICLIB)
|
||||||
|
if exist $@.manifest \
|
||||||
|
mt -nologo -manifest $@.manifest -outputresource:$@;1
|
||||||
|
|
||||||
example_d.exe: example.obj $(IMPLIB)
|
example_d.exe: example.obj $(IMPLIB)
|
||||||
$(LD) $(LDFLAGS) -out:$@ example.obj $(IMPLIB)
|
$(LD) $(LDFLAGS) -out:$@ example.obj $(IMPLIB)
|
||||||
|
if exist $@.manifest \
|
||||||
|
mt -nologo -manifest $@.manifest -outputresource:$@;1
|
||||||
|
|
||||||
minigzip_d.exe: minigzip.obj $(IMPLIB)
|
minigzip_d.exe: minigzip.obj $(IMPLIB)
|
||||||
$(LD) $(LDFLAGS) -out:$@ minigzip.obj $(IMPLIB)
|
$(LD) $(LDFLAGS) -out:$@ minigzip.obj $(IMPLIB)
|
||||||
|
if exist $@.manifest \
|
||||||
|
mt -nologo -manifest $@.manifest -outputresource:$@;1
|
||||||
|
|
||||||
.c.obj:
|
.c.obj:
|
||||||
$(CC) -c $(CFLAGS) $<
|
$(CC) -c $(WFLAGS) $(CFLAGS) $<
|
||||||
|
|
||||||
.asm.obj:
|
.asm.obj:
|
||||||
$(AS) -c $(ASFLAGS) $<
|
$(AS) -c $(ASFLAGS) $<
|
||||||
@@ -123,4 +128,6 @@ clean:
|
|||||||
-del *.res
|
-del *.res
|
||||||
-del *.exp
|
-del *.exp
|
||||||
-del *.exe
|
-del *.exe
|
||||||
|
-del *.pdb
|
||||||
|
-del *.manifest
|
||||||
-del foo.gz
|
-del foo.gz
|
||||||
|
|||||||
@@ -43,12 +43,15 @@ EXPORTS
|
|||||||
gzrewind
|
gzrewind
|
||||||
gztell
|
gztell
|
||||||
gzeof
|
gzeof
|
||||||
|
gzdirect
|
||||||
gzclose
|
gzclose
|
||||||
gzerror
|
gzerror
|
||||||
gzclearerr
|
gzclearerr
|
||||||
; checksum functions
|
; checksum functions
|
||||||
adler32
|
adler32
|
||||||
|
adler32_combine
|
||||||
crc32
|
crc32
|
||||||
|
crc32_combine
|
||||||
; various hacks, don't look :)
|
; various hacks, don't look :)
|
||||||
deflateInit_
|
deflateInit_
|
||||||
deflateInit2_
|
deflateInit2_
|
||||||
|
|||||||
@@ -1,19 +1,20 @@
|
|||||||
#include <windows.h>
|
#include <winver.h>
|
||||||
|
#include "../zlib.h"
|
||||||
|
|
||||||
#ifdef GCC_WINDRES
|
#ifdef GCC_WINDRES
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
#else
|
#else
|
||||||
VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
||||||
#endif
|
#endif
|
||||||
FILEVERSION 1,2,2,3
|
FILEVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0
|
||||||
PRODUCTVERSION 1,2,2,3
|
PRODUCTVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0
|
||||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 1
|
FILEFLAGS 1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0
|
FILEFLAGS 0
|
||||||
#endif
|
#endif
|
||||||
FILEOS VOS_DOS_WINDOWS32
|
FILEOS VOS__WINDOWS32
|
||||||
FILETYPE VFT_DLL
|
FILETYPE VFT_DLL
|
||||||
FILESUBTYPE 0 // not used
|
FILESUBTYPE 0 // not used
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -23,13 +24,13 @@ BEGIN
|
|||||||
//language ID = U.S. English, char set = Windows, Multilingual
|
//language ID = U.S. English, char set = Windows, Multilingual
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "zlib data compression library\0"
|
VALUE "FileDescription", "zlib data compression library\0"
|
||||||
VALUE "FileVersion", "1.2.2.3\0"
|
VALUE "FileVersion", ZLIB_VERSION "\0"
|
||||||
VALUE "InternalName", "zlib1.dll\0"
|
VALUE "InternalName", "zlib1.dll\0"
|
||||||
VALUE "LegalCopyright", "(C) 1995-2004 Jean-loup Gailly & Mark Adler\0"
|
VALUE "LegalCopyright", "(C) 1995-2006 Jean-loup Gailly & Mark Adler\0"
|
||||||
VALUE "OriginalFilename", "zlib1.dll\0"
|
VALUE "OriginalFilename", "zlib1.dll\0"
|
||||||
VALUE "ProductName", "zlib\0"
|
VALUE "ProductName", "zlib\0"
|
||||||
VALUE "ProductVersion", "1.2.2.3\0"
|
VALUE "ProductVersion", ZLIB_VERSION "\0"
|
||||||
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
VALUE "Comments", "For more information visit http://www.zlib.net/\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
144
zconf.h
144
zconf.h
@@ -1,5 +1,5 @@
|
|||||||
/* zconf.h -- configuration of the zlib compression library
|
/* zconf.h -- configuration of the zlib compression library
|
||||||
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
* Copyright (C) 1995-2006 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -11,52 +11,115 @@
|
|||||||
/*
|
/*
|
||||||
* If you *really* need a unique prefix for all types and library functions,
|
* If you *really* need a unique prefix for all types and library functions,
|
||||||
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
||||||
|
* Even better than compiling with -DZ_PREFIX would be to use configure to set
|
||||||
|
* this permanently in zconf.h using "./configure --zprefix".
|
||||||
*/
|
*/
|
||||||
#ifdef Z_PREFIX
|
#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
|
||||||
# define deflateInit_ z_deflateInit_
|
|
||||||
# define deflate z_deflate
|
/* all linked symbols */
|
||||||
# define deflateEnd z_deflateEnd
|
# define _dist_code z__dist_code
|
||||||
# define inflateInit_ z_inflateInit_
|
# define _length_code z__length_code
|
||||||
# define inflate z_inflate
|
# define _tr_align z__tr_align
|
||||||
# define inflateEnd z_inflateEnd
|
# define _tr_flush_block z__tr_flush_block
|
||||||
# define deflateInit2_ z_deflateInit2_
|
# define _tr_init z__tr_init
|
||||||
# define deflateSetDictionary z_deflateSetDictionary
|
# define _tr_stored_block z__tr_stored_block
|
||||||
# define deflateCopy z_deflateCopy
|
# define _tr_tally z__tr_tally
|
||||||
# define deflateReset z_deflateReset
|
# define adler32 z_adler32
|
||||||
# define deflateParams z_deflateParams
|
# define adler32_combine z_adler32_combine
|
||||||
# define deflateBound z_deflateBound
|
|
||||||
# define deflatePrime z_deflatePrime
|
|
||||||
# define inflateInit2_ z_inflateInit2_
|
|
||||||
# define inflateSetDictionary z_inflateSetDictionary
|
|
||||||
# define inflateSync z_inflateSync
|
|
||||||
# define inflateSyncPoint z_inflateSyncPoint
|
|
||||||
# define inflateCopy z_inflateCopy
|
|
||||||
# define inflateReset z_inflateReset
|
|
||||||
# define inflateBack z_inflateBack
|
|
||||||
# define inflateBackEnd z_inflateBackEnd
|
|
||||||
# define compress z_compress
|
# define compress z_compress
|
||||||
# define compress2 z_compress2
|
# define compress2 z_compress2
|
||||||
# define compressBound z_compressBound
|
# define compressBound z_compressBound
|
||||||
# define uncompress z_uncompress
|
|
||||||
# define adler32 z_adler32
|
|
||||||
# define crc32 z_crc32
|
# define crc32 z_crc32
|
||||||
|
# define crc32_combine z_crc32_combine
|
||||||
|
# define deflate z_deflate
|
||||||
|
# define deflateBound z_deflateBound
|
||||||
|
# define deflateCopy z_deflateCopy
|
||||||
|
# define deflateEnd z_deflateEnd
|
||||||
|
# define deflateInit2_ z_deflateInit2_
|
||||||
|
# define deflateInit_ z_deflateInit_
|
||||||
|
# define deflateParams z_deflateParams
|
||||||
|
# define deflatePrime z_deflatePrime
|
||||||
|
# define deflateReset z_deflateReset
|
||||||
|
# define deflateSetDictionary z_deflateSetDictionary
|
||||||
|
# define deflateSetHeader z_deflateSetHeader
|
||||||
|
# define deflateTune z_deflateTune
|
||||||
|
# define deflate_copyright z_deflate_copyright
|
||||||
# define get_crc_table z_get_crc_table
|
# define get_crc_table z_get_crc_table
|
||||||
|
# define gzclearerr z_gzclearerr
|
||||||
|
# define gzclose z_gzclose
|
||||||
|
# define gzdirect z_gzdirect
|
||||||
|
# define gzdopen z_gzdopen
|
||||||
|
# define gzeof z_gzeof
|
||||||
|
# define gzerror z_gzerror
|
||||||
|
# define gzflush z_gzflush
|
||||||
|
# define gzgetc z_gzgetc
|
||||||
|
# define gzgets z_gzgets
|
||||||
|
# define gzopen z_gzopen
|
||||||
|
# define gzprintf z_gzprintf
|
||||||
|
# define gzputc z_gzputc
|
||||||
|
# define gzputs z_gzputs
|
||||||
|
# define gzread z_gzread
|
||||||
|
# define gzrewind z_gzrewind
|
||||||
|
# define gzseek z_gzseek
|
||||||
|
# define gzsetparams z_gzsetparams
|
||||||
|
# define gztell z_gztell
|
||||||
|
# define gzungetc z_gzungetc
|
||||||
|
# define gzwrite z_gzwrite
|
||||||
|
# define inflate z_inflate
|
||||||
|
# define inflateBack z_inflateBack
|
||||||
|
# define inflateBackEnd z_inflateBackEnd
|
||||||
|
# define inflateBackInit_ z_inflateBackInit_
|
||||||
|
# define inflateCopy z_inflateCopy
|
||||||
|
# define inflateEnd z_inflateEnd
|
||||||
|
# define inflateGetHeader z_inflateGetHeader
|
||||||
|
# define inflateInit2_ z_inflateInit2_
|
||||||
|
# define inflateInit_ z_inflateInit_
|
||||||
|
# define inflatePrime z_inflatePrime
|
||||||
|
# define inflateReset z_inflateReset
|
||||||
|
# define inflateSetDictionary z_inflateSetDictionary
|
||||||
|
# define inflateSync z_inflateSync
|
||||||
|
# define inflateSyncPoint z_inflateSyncPoint
|
||||||
|
# define inflate_copyright z_inflate_copyright
|
||||||
|
# define inflate_fast z_inflate_fast
|
||||||
|
# define inflate_table z_inflate_table
|
||||||
|
# define uncompress z_uncompress
|
||||||
# define zError z_zError
|
# define zError z_zError
|
||||||
|
# define z_errmsg z_z_errmsg
|
||||||
|
# define zcalloc z_zcalloc
|
||||||
|
# define zcfree z_zcfree
|
||||||
|
# define zlibCompileFlags z_zlibCompileFlags
|
||||||
|
# define zlibVersion z_zlibVersion
|
||||||
|
|
||||||
# define alloc_func z_alloc_func
|
/* all zlib typedefs in zlib.h and zconf.h */
|
||||||
# define free_func z_free_func
|
|
||||||
# define in_func z_in_func
|
|
||||||
# define out_func z_out_func
|
|
||||||
# define Byte z_Byte
|
# define Byte z_Byte
|
||||||
# define uInt z_uInt
|
|
||||||
# define uLong z_uLong
|
|
||||||
# define Bytef z_Bytef
|
# define Bytef z_Bytef
|
||||||
|
# define alloc_func z_alloc_func
|
||||||
# define charf z_charf
|
# define charf z_charf
|
||||||
|
# define free_func z_free_func
|
||||||
|
# define gzFile z_gzFile
|
||||||
|
# define gz_header z_gz_header
|
||||||
|
# define gz_headerp z_gz_headerp
|
||||||
|
# define in_func z_in_func
|
||||||
# define intf z_intf
|
# define intf z_intf
|
||||||
|
# define out_func z_out_func
|
||||||
|
# define uInt z_uInt
|
||||||
# define uIntf z_uIntf
|
# define uIntf z_uIntf
|
||||||
|
# define uLong z_uLong
|
||||||
# define uLongf z_uLongf
|
# define uLongf z_uLongf
|
||||||
# define voidpf z_voidpf
|
|
||||||
# define voidp z_voidp
|
# define voidp z_voidp
|
||||||
|
# define voidp z_voidp
|
||||||
|
# define voidpc z_voidpc
|
||||||
|
# define voidpc z_voidpc
|
||||||
|
# define voidpf z_voidpf
|
||||||
|
# define voidpf z_voidpf
|
||||||
|
# define z_stream z_z_stream
|
||||||
|
# define z_streamp z_z_streamp
|
||||||
|
|
||||||
|
/* all zlib structs in zlib.h and zconf.h */
|
||||||
|
# define gz_header_s z_gz_header_s
|
||||||
|
# define internal_state z_internal_state
|
||||||
|
# define z_stream_s z_z_stream_s
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__MSDOS__) && !defined(MSDOS)
|
#if defined(__MSDOS__) && !defined(MSDOS)
|
||||||
@@ -243,6 +306,10 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_VISIBILITY_PRAGMA
|
||||||
|
# define ZEXTERN __attribute__((visibility ("default"))) extern
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef ZEXTERN
|
#ifndef ZEXTERN
|
||||||
# define ZEXTERN extern
|
# define ZEXTERN extern
|
||||||
#endif
|
#endif
|
||||||
@@ -284,14 +351,8 @@ typedef uLong FAR uLongf;
|
|||||||
typedef Byte *voidp;
|
typedef Byte *voidp;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */
|
#include "zlibdefs.h" /* created by configure */
|
||||||
# include <sys/types.h> /* for off_t */
|
|
||||||
# include <unistd.h> /* for SEEK_* and off_t */
|
|
||||||
# ifdef VMS
|
|
||||||
# include <unixio.h> /* for off_t */
|
|
||||||
# endif
|
|
||||||
# define z_off_t off_t
|
|
||||||
#endif
|
|
||||||
#ifndef SEEK_SET
|
#ifndef SEEK_SET
|
||||||
# define SEEK_SET 0 /* Seek from beginning of file. */
|
# define SEEK_SET 0 /* Seek from beginning of file. */
|
||||||
# define SEEK_CUR 1 /* Seek from current position. */
|
# define SEEK_CUR 1 /* Seek from current position. */
|
||||||
@@ -307,9 +368,6 @@ typedef uLong FAR uLongf;
|
|||||||
|
|
||||||
#if defined(__MVS__)
|
#if defined(__MVS__)
|
||||||
# define NO_vsnprintf
|
# define NO_vsnprintf
|
||||||
# ifdef FAR
|
|
||||||
# undef FAR
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* MVS linker does not support external names larger than 8 bytes */
|
/* MVS linker does not support external names larger than 8 bytes */
|
||||||
|
|||||||
332
zconf.in.h
332
zconf.in.h
@@ -1,332 +0,0 @@
|
|||||||
/* zconf.h -- configuration of the zlib compression library
|
|
||||||
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* @(#) $Id$ */
|
|
||||||
|
|
||||||
#ifndef ZCONF_H
|
|
||||||
#define ZCONF_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If you *really* need a unique prefix for all types and library functions,
|
|
||||||
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
|
||||||
*/
|
|
||||||
#ifdef Z_PREFIX
|
|
||||||
# define deflateInit_ z_deflateInit_
|
|
||||||
# define deflate z_deflate
|
|
||||||
# define deflateEnd z_deflateEnd
|
|
||||||
# define inflateInit_ z_inflateInit_
|
|
||||||
# define inflate z_inflate
|
|
||||||
# define inflateEnd z_inflateEnd
|
|
||||||
# define deflateInit2_ z_deflateInit2_
|
|
||||||
# define deflateSetDictionary z_deflateSetDictionary
|
|
||||||
# define deflateCopy z_deflateCopy
|
|
||||||
# define deflateReset z_deflateReset
|
|
||||||
# define deflateParams z_deflateParams
|
|
||||||
# define deflateBound z_deflateBound
|
|
||||||
# define deflatePrime z_deflatePrime
|
|
||||||
# define inflateInit2_ z_inflateInit2_
|
|
||||||
# define inflateSetDictionary z_inflateSetDictionary
|
|
||||||
# define inflateSync z_inflateSync
|
|
||||||
# define inflateSyncPoint z_inflateSyncPoint
|
|
||||||
# define inflateCopy z_inflateCopy
|
|
||||||
# define inflateReset z_inflateReset
|
|
||||||
# define inflateBack z_inflateBack
|
|
||||||
# define inflateBackEnd z_inflateBackEnd
|
|
||||||
# define compress z_compress
|
|
||||||
# define compress2 z_compress2
|
|
||||||
# define compressBound z_compressBound
|
|
||||||
# define uncompress z_uncompress
|
|
||||||
# define adler32 z_adler32
|
|
||||||
# define crc32 z_crc32
|
|
||||||
# define get_crc_table z_get_crc_table
|
|
||||||
# define zError z_zError
|
|
||||||
|
|
||||||
# define alloc_func z_alloc_func
|
|
||||||
# define free_func z_free_func
|
|
||||||
# define in_func z_in_func
|
|
||||||
# define out_func z_out_func
|
|
||||||
# define Byte z_Byte
|
|
||||||
# define uInt z_uInt
|
|
||||||
# define uLong z_uLong
|
|
||||||
# define Bytef z_Bytef
|
|
||||||
# define charf z_charf
|
|
||||||
# define intf z_intf
|
|
||||||
# define uIntf z_uIntf
|
|
||||||
# define uLongf z_uLongf
|
|
||||||
# define voidpf z_voidpf
|
|
||||||
# define voidp z_voidp
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__MSDOS__) && !defined(MSDOS)
|
|
||||||
# define MSDOS
|
|
||||||
#endif
|
|
||||||
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
|
|
||||||
# define OS2
|
|
||||||
#endif
|
|
||||||
#if defined(_WINDOWS) && !defined(WINDOWS)
|
|
||||||
# define WINDOWS
|
|
||||||
#endif
|
|
||||||
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
|
|
||||||
# ifndef WIN32
|
|
||||||
# define WIN32
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
|
|
||||||
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
|
|
||||||
# ifndef SYS16BIT
|
|
||||||
# define SYS16BIT
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more
|
|
||||||
* than 64k bytes at a time (needed on systems with 16-bit int).
|
|
||||||
*/
|
|
||||||
#ifdef SYS16BIT
|
|
||||||
# define MAXSEG_64K
|
|
||||||
#endif
|
|
||||||
#ifdef MSDOS
|
|
||||||
# define UNALIGNED_OK
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __STDC_VERSION__
|
|
||||||
# ifndef STDC
|
|
||||||
# define STDC
|
|
||||||
# endif
|
|
||||||
# if __STDC_VERSION__ >= 199901L
|
|
||||||
# ifndef STDC99
|
|
||||||
# define STDC99
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
|
|
||||||
# define STDC
|
|
||||||
#endif
|
|
||||||
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
|
|
||||||
# define STDC
|
|
||||||
#endif
|
|
||||||
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
|
|
||||||
# define STDC
|
|
||||||
#endif
|
|
||||||
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
|
|
||||||
# define STDC
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
|
|
||||||
# define STDC
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef STDC
|
|
||||||
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
|
|
||||||
# define const /* note: need a more gentle solution here */
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Some Mac compilers merge all .h files incorrectly: */
|
|
||||||
#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
|
|
||||||
# define NO_DUMMY_DECL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Maximum value for memLevel in deflateInit2 */
|
|
||||||
#ifndef MAX_MEM_LEVEL
|
|
||||||
# ifdef MAXSEG_64K
|
|
||||||
# define MAX_MEM_LEVEL 8
|
|
||||||
# else
|
|
||||||
# define MAX_MEM_LEVEL 9
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Maximum value for windowBits in deflateInit2 and inflateInit2.
|
|
||||||
* WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
|
|
||||||
* created by gzip. (Files created by minigzip can still be extracted by
|
|
||||||
* gzip.)
|
|
||||||
*/
|
|
||||||
#ifndef MAX_WBITS
|
|
||||||
# define MAX_WBITS 15 /* 32K LZ77 window */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The memory requirements for deflate are (in bytes):
|
|
||||||
(1 << (windowBits+2)) + (1 << (memLevel+9))
|
|
||||||
that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
|
|
||||||
plus a few kilobytes for small objects. For example, if you want to reduce
|
|
||||||
the default memory requirements from 256K to 128K, compile with
|
|
||||||
make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
|
|
||||||
Of course this will generally degrade compression (there's no free lunch).
|
|
||||||
|
|
||||||
The memory requirements for inflate are (in bytes) 1 << windowBits
|
|
||||||
that is, 32K for windowBits=15 (default value) plus a few kilobytes
|
|
||||||
for small objects.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Type declarations */
|
|
||||||
|
|
||||||
#ifndef OF /* function prototypes */
|
|
||||||
# ifdef STDC
|
|
||||||
# define OF(args) args
|
|
||||||
# else
|
|
||||||
# define OF(args) ()
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The following definitions for FAR are needed only for MSDOS mixed
|
|
||||||
* model programming (small or medium model with some far allocations).
|
|
||||||
* This was tested only with MSC; for other MSDOS compilers you may have
|
|
||||||
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
|
|
||||||
* just define FAR to be empty.
|
|
||||||
*/
|
|
||||||
#ifdef SYS16BIT
|
|
||||||
# if defined(M_I86SM) || defined(M_I86MM)
|
|
||||||
/* MSC small or medium model */
|
|
||||||
# define SMALL_MEDIUM
|
|
||||||
# ifdef _MSC_VER
|
|
||||||
# define FAR _far
|
|
||||||
# else
|
|
||||||
# define FAR far
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
# if (defined(__SMALL__) || defined(__MEDIUM__))
|
|
||||||
/* Turbo C small or medium model */
|
|
||||||
# define SMALL_MEDIUM
|
|
||||||
# ifdef __BORLANDC__
|
|
||||||
# define FAR _far
|
|
||||||
# else
|
|
||||||
# define FAR far
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(WINDOWS) || defined(WIN32)
|
|
||||||
/* If building or using zlib as a DLL, define ZLIB_DLL.
|
|
||||||
* This is not mandatory, but it offers a little performance increase.
|
|
||||||
*/
|
|
||||||
# ifdef ZLIB_DLL
|
|
||||||
# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
|
|
||||||
# ifdef ZLIB_INTERNAL
|
|
||||||
# define ZEXTERN extern __declspec(dllexport)
|
|
||||||
# else
|
|
||||||
# define ZEXTERN extern __declspec(dllimport)
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
# endif /* ZLIB_DLL */
|
|
||||||
/* If building or using zlib with the WINAPI/WINAPIV calling convention,
|
|
||||||
* define ZLIB_WINAPI.
|
|
||||||
* Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
|
|
||||||
*/
|
|
||||||
# ifdef ZLIB_WINAPI
|
|
||||||
# ifdef FAR
|
|
||||||
# undef FAR
|
|
||||||
# endif
|
|
||||||
# include <windows.h>
|
|
||||||
/* No need for _export, use ZLIB.DEF instead. */
|
|
||||||
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
|
|
||||||
# define ZEXPORT WINAPI
|
|
||||||
# ifdef WIN32
|
|
||||||
# define ZEXPORTVA WINAPIV
|
|
||||||
# else
|
|
||||||
# define ZEXPORTVA FAR CDECL
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined (__BEOS__)
|
|
||||||
# ifdef ZLIB_DLL
|
|
||||||
# ifdef ZLIB_INTERNAL
|
|
||||||
# define ZEXPORT __declspec(dllexport)
|
|
||||||
# define ZEXPORTVA __declspec(dllexport)
|
|
||||||
# else
|
|
||||||
# define ZEXPORT __declspec(dllimport)
|
|
||||||
# define ZEXPORTVA __declspec(dllimport)
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef ZEXTERN
|
|
||||||
# define ZEXTERN extern
|
|
||||||
#endif
|
|
||||||
#ifndef ZEXPORT
|
|
||||||
# define ZEXPORT
|
|
||||||
#endif
|
|
||||||
#ifndef ZEXPORTVA
|
|
||||||
# define ZEXPORTVA
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef FAR
|
|
||||||
# define FAR
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(__MACTYPES__)
|
|
||||||
typedef unsigned char Byte; /* 8 bits */
|
|
||||||
#endif
|
|
||||||
typedef unsigned int uInt; /* 16 bits or more */
|
|
||||||
typedef unsigned long uLong; /* 32 bits or more */
|
|
||||||
|
|
||||||
#ifdef SMALL_MEDIUM
|
|
||||||
/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
|
|
||||||
# define Bytef Byte FAR
|
|
||||||
#else
|
|
||||||
typedef Byte FAR Bytef;
|
|
||||||
#endif
|
|
||||||
typedef char FAR charf;
|
|
||||||
typedef int FAR intf;
|
|
||||||
typedef uInt FAR uIntf;
|
|
||||||
typedef uLong FAR uLongf;
|
|
||||||
|
|
||||||
#ifdef STDC
|
|
||||||
typedef void const *voidpc;
|
|
||||||
typedef void FAR *voidpf;
|
|
||||||
typedef void *voidp;
|
|
||||||
#else
|
|
||||||
typedef Byte const *voidpc;
|
|
||||||
typedef Byte FAR *voidpf;
|
|
||||||
typedef Byte *voidp;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */
|
|
||||||
# include <sys/types.h> /* for off_t */
|
|
||||||
# include <unistd.h> /* for SEEK_* and off_t */
|
|
||||||
# ifdef VMS
|
|
||||||
# include <unixio.h> /* for off_t */
|
|
||||||
# endif
|
|
||||||
# define z_off_t off_t
|
|
||||||
#endif
|
|
||||||
#ifndef SEEK_SET
|
|
||||||
# define SEEK_SET 0 /* Seek from beginning of file. */
|
|
||||||
# define SEEK_CUR 1 /* Seek from current position. */
|
|
||||||
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
|
|
||||||
#endif
|
|
||||||
#ifndef z_off_t
|
|
||||||
# define z_off_t long
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__OS400__)
|
|
||||||
# define NO_vsnprintf
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__MVS__)
|
|
||||||
# define NO_vsnprintf
|
|
||||||
# ifdef FAR
|
|
||||||
# undef FAR
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* MVS linker does not support external names larger than 8 bytes */
|
|
||||||
#if defined(__MVS__)
|
|
||||||
# pragma map(deflateInit_,"DEIN")
|
|
||||||
# pragma map(deflateInit2_,"DEIN2")
|
|
||||||
# pragma map(deflateEnd,"DEEND")
|
|
||||||
# pragma map(deflateBound,"DEBND")
|
|
||||||
# pragma map(inflateInit_,"ININ")
|
|
||||||
# pragma map(inflateInit2_,"ININ2")
|
|
||||||
# pragma map(inflateEnd,"INEND")
|
|
||||||
# pragma map(inflateSync,"INSY")
|
|
||||||
# pragma map(inflateSetDictionary,"INSEDI")
|
|
||||||
# pragma map(compressBound,"CMBND")
|
|
||||||
# pragma map(inflate_table,"INTABL")
|
|
||||||
# pragma map(inflate_fast,"INFA")
|
|
||||||
# pragma map(inflate_copyright,"INCOPY")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* ZCONF_H */
|
|
||||||
6
zlib.3
6
zlib.3
@@ -1,4 +1,4 @@
|
|||||||
.TH ZLIB 3 "27 May 2005"
|
.TH ZLIB 3 "xx August 2006"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
zlib \- compression/decompression library
|
zlib \- compression/decompression library
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@@ -133,8 +133,8 @@ 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.2.3
|
Version 1.2.3.2
|
||||||
Copyright (C) 1995-2004 Jean-loup Gailly (jloup@gzip.org)
|
Copyright (C) 1995-2005 Jean-loup Gailly (jloup@gzip.org)
|
||||||
and Mark Adler (madler@alumni.caltech.edu).
|
and Mark Adler (madler@alumni.caltech.edu).
|
||||||
.LP
|
.LP
|
||||||
This software is provided "as-is,"
|
This software is provided "as-is,"
|
||||||
|
|||||||
69
zlib.h
69
zlib.h
@@ -1,7 +1,7 @@
|
|||||||
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
||||||
version 1.2.2.3, May 27th, 2005
|
version 1.2.3.2, September 3rd, 2006
|
||||||
|
|
||||||
Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
|
Copyright (C) 1995-2006 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
|
||||||
@@ -37,8 +37,11 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ZLIB_VERSION "1.2.2.3"
|
#define ZLIB_VERSION "1.2.3.2"
|
||||||
#define ZLIB_VERNUM 0x1223
|
#define ZLIB_VERNUM 0x1232
|
||||||
|
#define ZLIB_VER_MAJOR 1
|
||||||
|
#define ZLIB_VER_MINOR 2
|
||||||
|
#define ZLIB_VER_REVISION 3
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The 'zlib' compression library provides in-memory compression and
|
The 'zlib' compression library provides in-memory compression and
|
||||||
@@ -353,10 +356,14 @@ ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
|
|||||||
|
|
||||||
inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
||||||
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
|
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
|
||||||
version assumed by the caller. msg is set to null if there is no error
|
version assumed by the caller, or Z_STREAM_ERROR if the parameters are
|
||||||
message. inflateInit does not perform any decompression apart from reading
|
invalid, such as a null pointer to the structure. msg is set to null if
|
||||||
the zlib header if present: this will be done by inflate(). (So next_in and
|
there is no error message. inflateInit does not perform any decompression
|
||||||
avail_in may be modified, but next_out and avail_out are unchanged.)
|
apart from possibly reading the zlib header if present: actual decompression
|
||||||
|
will be done by inflate(). (So next_in and avail_in may be modified, but
|
||||||
|
next_out and avail_out are unused and unchanged.) The current
|
||||||
|
implementation of inflateInit() does not process any header information --
|
||||||
|
that is deferred until inflate() is called.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -645,9 +652,10 @@ ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
|
|||||||
uLong sourceLen));
|
uLong sourceLen));
|
||||||
/*
|
/*
|
||||||
deflateBound() returns an upper bound on the compressed size after
|
deflateBound() returns an upper bound on the compressed size after
|
||||||
deflation of sourceLen bytes. It must be called after deflateInit()
|
deflation of sourceLen bytes. It must be called after deflateInit() or
|
||||||
or deflateInit2(). This would be used to allocate an output buffer
|
deflateInit2(), and after deflateSetHeader(), if used. This would be used
|
||||||
for deflation in a single pass, and so would be called before deflate().
|
to allocate an output buffer for deflation in a single pass, and so would be
|
||||||
|
called before deflate().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
|
ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
|
||||||
@@ -726,11 +734,15 @@ ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
|
|||||||
a crc32 instead of an adler32.
|
a crc32 instead of an adler32.
|
||||||
|
|
||||||
inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
||||||
memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative
|
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
|
||||||
memLevel). msg is set to null if there is no error message. inflateInit2
|
version assumed by the caller, or Z_STREAM_ERROR if the parameters are
|
||||||
does not perform any decompression apart from reading the zlib header if
|
invalid, such as a null pointer to the structure. msg is set to null if
|
||||||
present: this will be done by inflate(). (So next_in and avail_in may be
|
there is no error message. inflateInit2 does not perform any decompression
|
||||||
modified, but next_out and avail_out are unchanged.)
|
apart from possibly reading the zlib header if present: actual decompression
|
||||||
|
will be done by inflate(). (So next_in and avail_in may be modified, but
|
||||||
|
next_out and avail_out are unused and unchanged.) The current
|
||||||
|
implementation of inflateInit2() does not process any header information --
|
||||||
|
that is deferred until inflate() is called.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
|
ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
|
||||||
@@ -796,6 +808,22 @@ ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
|
|||||||
stream state was inconsistent (such as zalloc or state being NULL).
|
stream state was inconsistent (such as zalloc or state being NULL).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
|
||||||
|
int bits,
|
||||||
|
int value));
|
||||||
|
/*
|
||||||
|
This function inserts bits in the inflate input stream. The intent is
|
||||||
|
that this function is used to start inflating at a bit position in the
|
||||||
|
middle of a byte. The provided bits will be used before any bytes are used
|
||||||
|
from next_in. This function should only be used with raw inflate, and
|
||||||
|
should be used before the first inflate() call after inflateInit2() or
|
||||||
|
inflateReset(). bits must be less than or equal to 16, and that many of the
|
||||||
|
least significant bits of value will be inserted in the input.
|
||||||
|
|
||||||
|
inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
|
||||||
|
stream state was inconsistent.
|
||||||
|
*/
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
|
ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
|
||||||
gz_headerp head));
|
gz_headerp head));
|
||||||
/*
|
/*
|
||||||
@@ -1214,7 +1242,8 @@ ZEXTERN int ZEXPORT gzclose OF((gzFile file));
|
|||||||
/*
|
/*
|
||||||
Flushes all pending output if necessary, closes the compressed file
|
Flushes all pending output if necessary, closes the compressed file
|
||||||
and deallocates all the (de)compression state. The return value is the zlib
|
and deallocates all the (de)compression state. The return value is the zlib
|
||||||
error number (see function gzerror below).
|
error number. Note that once file is close, you cannot call gzerror with
|
||||||
|
file, since its structures have been deallocated.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
|
ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
|
||||||
@@ -1224,6 +1253,9 @@ ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
|
|||||||
error occurred in the file system and not in the compression library,
|
error occurred in the file system and not in the compression library,
|
||||||
errnum is set to Z_ERRNO and the application may consult errno
|
errnum is set to Z_ERRNO and the application may consult errno
|
||||||
to get the exact error code.
|
to get the exact error code.
|
||||||
|
|
||||||
|
The application must not modify the returned string and future calls to
|
||||||
|
this function may invalidate the returned string.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
|
ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
|
||||||
@@ -1323,8 +1355,7 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
|
|||||||
inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
|
inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
|
||||||
#define inflateBackInit(strm, windowBits, window) \
|
#define inflateBackInit(strm, windowBits, window) \
|
||||||
inflateBackInit_((strm), (windowBits), (window), \
|
inflateBackInit_((strm), (windowBits), (window), \
|
||||||
ZLIB_VERSION, sizeof(z_stream))
|
ZLIB_VERSION, sizeof(z_stream))
|
||||||
|
|
||||||
|
|
||||||
#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;}; /* hack for buggy compilers */
|
||||||
|
|||||||
44
zlib.map
Normal file
44
zlib.map
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
ZLIB_1.2.0 {
|
||||||
|
global:
|
||||||
|
compressBound;
|
||||||
|
deflateBound;
|
||||||
|
inflateBack;
|
||||||
|
inflateBackEnd;
|
||||||
|
inflateBackInit_;
|
||||||
|
inflateCopy;
|
||||||
|
local:
|
||||||
|
deflate_copyright;
|
||||||
|
inflate_copyright;
|
||||||
|
inflate_fast;
|
||||||
|
inflate_table;
|
||||||
|
zcalloc;
|
||||||
|
zcfree;
|
||||||
|
z_errmsg;
|
||||||
|
_*;
|
||||||
|
};
|
||||||
|
|
||||||
|
ZLIB_1.2.0.2 {
|
||||||
|
gzclearerr;
|
||||||
|
gzungetc;
|
||||||
|
zlibCompileFlags;
|
||||||
|
} ZLIB_1.2.0;
|
||||||
|
|
||||||
|
ZLIB_1.2.0.8 {
|
||||||
|
deflatePrime;
|
||||||
|
} ZLIB_1.2.0.2;
|
||||||
|
|
||||||
|
ZLIB_1.2.2 {
|
||||||
|
adler32_combine;
|
||||||
|
crc32_combine;
|
||||||
|
deflateSetHeader;
|
||||||
|
inflateGetHeader;
|
||||||
|
} ZLIB_1.2.0.8;
|
||||||
|
|
||||||
|
ZLIB_1.2.2.3 {
|
||||||
|
deflateTune;
|
||||||
|
gzdirect;
|
||||||
|
} ZLIB_1.2.2;
|
||||||
|
|
||||||
|
ZLIB_1.2.2.4 {
|
||||||
|
inflatePrime;
|
||||||
|
} ZLIB_1.2.2.3;
|
||||||
12
zlib.pc.in
Normal file
12
zlib.pc.in
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: zlib
|
||||||
|
Description: zlib compression library
|
||||||
|
Version: @VERSION@
|
||||||
|
|
||||||
|
Requires:
|
||||||
|
Libs: -L${libdir} -lz
|
||||||
|
Cflags: -I${includedir}
|
||||||
0
zlibdefs.h
Normal file
0
zlibdefs.h
Normal file
24
zutil.c
24
zutil.c
@@ -1,5 +1,5 @@
|
|||||||
/* zutil.c -- target dependent utility functions for the compression library
|
/* zutil.c -- target dependent utility functions for the compression library
|
||||||
* Copyright (C) 1995-2004 Jean-loup Gailly.
|
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -74,38 +74,38 @@ uLong ZEXPORT zlibCompileFlags()
|
|||||||
flags += 1 << 13;
|
flags += 1 << 13;
|
||||||
#endif
|
#endif
|
||||||
#ifdef NO_GZCOMPRESS
|
#ifdef NO_GZCOMPRESS
|
||||||
flags += 1 << 16;
|
flags += 1L << 16;
|
||||||
#endif
|
#endif
|
||||||
#ifdef NO_GZIP
|
#ifdef NO_GZIP
|
||||||
flags += 1 << 17;
|
flags += 1L << 17;
|
||||||
#endif
|
#endif
|
||||||
#ifdef PKZIP_BUG_WORKAROUND
|
#ifdef PKZIP_BUG_WORKAROUND
|
||||||
flags += 1 << 20;
|
flags += 1L << 20;
|
||||||
#endif
|
#endif
|
||||||
#ifdef FASTEST
|
#ifdef FASTEST
|
||||||
flags += 1 << 21;
|
flags += 1L << 21;
|
||||||
#endif
|
#endif
|
||||||
#ifdef STDC
|
#ifdef STDC
|
||||||
# ifdef NO_vsnprintf
|
# ifdef NO_vsnprintf
|
||||||
flags += 1 << 25;
|
flags += 1L << 25;
|
||||||
# ifdef HAS_vsprintf_void
|
# ifdef HAS_vsprintf_void
|
||||||
flags += 1 << 26;
|
flags += 1L << 26;
|
||||||
# endif
|
# endif
|
||||||
# else
|
# else
|
||||||
# ifdef HAS_vsnprintf_void
|
# ifdef HAS_vsnprintf_void
|
||||||
flags += 1 << 26;
|
flags += 1L << 26;
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
flags += 1 << 24;
|
flags += 1L << 24;
|
||||||
# ifdef NO_snprintf
|
# ifdef NO_snprintf
|
||||||
flags += 1 << 25;
|
flags += 1L << 25;
|
||||||
# ifdef HAS_sprintf_void
|
# ifdef HAS_sprintf_void
|
||||||
flags += 1 << 26;
|
flags += 1L << 26;
|
||||||
# endif
|
# endif
|
||||||
# else
|
# else
|
||||||
# ifdef HAS_snprintf_void
|
# ifdef HAS_snprintf_void
|
||||||
flags += 1 << 26;
|
flags += 1L << 26;
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
19
zutil.h
19
zutil.h
@@ -1,5 +1,5 @@
|
|||||||
/* zutil.h -- internal interface and configuration of the compression library
|
/* zutil.h -- internal interface and configuration of the compression library
|
||||||
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
* Copyright (C) 1995-2006 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
# include <string.h>
|
# include <string.h>
|
||||||
# include <stdlib.h>
|
# include <stdlib.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef NO_ERRNO_H
|
#if defined(NO_ERRNO_H) || defined(_WIN32_WCE)
|
||||||
# ifdef _WIN32_WCE
|
# ifdef _WIN32_WCE
|
||||||
/* The Microsoft C Run-Time Library for Windows CE doesn't have
|
/* The Microsoft C Run-Time Library for Windows CE doesn't have
|
||||||
* errno. We define it as a global variable to simplify porting.
|
* errno. We define it as a global variable to simplify porting.
|
||||||
@@ -34,9 +34,7 @@
|
|||||||
# endif
|
# endif
|
||||||
extern int errno;
|
extern int errno;
|
||||||
#else
|
#else
|
||||||
# ifndef _WIN32_WCE
|
# include <errno.h>
|
||||||
# include <errno.h>
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef local
|
#ifndef local
|
||||||
@@ -117,6 +115,9 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
|||||||
|
|
||||||
#ifdef OS2
|
#ifdef OS2
|
||||||
# define OS_CODE 0x06
|
# define OS_CODE 0x06
|
||||||
|
# ifdef M_I86
|
||||||
|
#include <malloc.h>
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(MACOS) || defined(TARGET_OS_MAC)
|
#if defined(MACOS) || defined(TARGET_OS_MAC)
|
||||||
@@ -148,7 +149,7 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
|||||||
# define fdopen(fd,mode) NULL /* No fdopen() */
|
# define fdopen(fd,mode) NULL /* No fdopen() */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(_MSC_VER) && (_MSC_VER > 600))
|
#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
|
||||||
# if defined(_WIN32_WCE)
|
# if defined(_WIN32_WCE)
|
||||||
# define fdopen(fd,mode) NULL /* No fdopen() */
|
# define fdopen(fd,mode) NULL /* No fdopen() */
|
||||||
# ifndef _PTRDIFF_T_DEFINED
|
# ifndef _PTRDIFF_T_DEFINED
|
||||||
@@ -158,6 +159,12 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
|||||||
# else
|
# else
|
||||||
# define fdopen(fd,type) _fdopen(fd,type)
|
# define fdopen(fd,type) _fdopen(fd,type)
|
||||||
# endif
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__BORLANDC__)
|
||||||
|
#pragma warn -8004
|
||||||
|
#pragma warn -8008
|
||||||
|
#pragma warn -8066
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* common defaults */
|
/* common defaults */
|
||||||
|
|||||||
Reference in New Issue
Block a user