2011-09-10 02:20:07 -04:00
|
|
|
zlib 1.1.1 is a general purpose data compression library. All the code
|
2011-09-10 02:18:57 -04:00
|
|
|
is thread safe. The data format used by the zlib library
|
2011-09-10 02:15:17 -04:00
|
|
|
is described by RFCs (Request for Comments) 1950 to 1952 in the files
|
|
|
|
ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate
|
|
|
|
format) and rfc1952.txt (gzip format). These documents are also available in
|
|
|
|
other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
|
2011-09-10 01:36:31 -04:00
|
|
|
|
2011-09-10 02:18:57 -04:00
|
|
|
All functions of the compression library are documented in the file zlib.h
|
|
|
|
(volunteer to write man pages welcome, contact jloup@gzip.org). A usage
|
|
|
|
example of the library is given in the file example.c which also tests that
|
|
|
|
the library is working correctly. Another example is given in the file
|
|
|
|
minigzip.c. The compression library itself is composed of all source files
|
|
|
|
except example.c and minigzip.c.
|
2011-09-10 02:11:37 -04:00
|
|
|
|
2011-09-10 02:14:39 -04:00
|
|
|
To compile all files and run the test program, follow the instructions
|
|
|
|
given at the top of Makefile. In short "make test; make install"
|
|
|
|
should work for most machines. For MSDOS, use one of the special
|
|
|
|
makefiles such as Makefile.msc; for VMS, use Make_vms.com or descrip.mms.
|
|
|
|
|
|
|
|
Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov> or,
|
|
|
|
if this fails, to the addresses given below in the Copyright section.
|
2011-09-10 02:17:17 -04:00
|
|
|
The zlib home page is http://www.cdrom.com/pub/infozip/zlib/
|
2011-09-10 02:17:33 -04:00
|
|
|
The official zlib ftp site is ftp://ftp.cdrom.com/pub/infozip/zlib/
|
|
|
|
Mark Nelson wrote an article about zlib for the Jan. 1997 issue of
|
|
|
|
Dr. Dobb's Journal; a copy of the article is available in
|
|
|
|
http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
|
|
|
|
|
2011-09-10 02:20:07 -04:00
|
|
|
The changes made in version 1.1.1 are documented in the file ChangeLog.
|
|
|
|
The main changes since 1.1.0 are:
|
2011-09-10 02:19:21 -04:00
|
|
|
|
2011-09-10 02:20:07 -04:00
|
|
|
- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson)
|
|
|
|
- remove block truncation heuristic which had very marginal effect for zlib
|
|
|
|
(smaller lit_bufsize than in gzip 1.2.4) and degraded a little the
|
|
|
|
compression ratio on some files. This also allows inlining _tr_tally for
|
|
|
|
matches in deflate_slow.
|
2011-09-10 02:17:33 -04:00
|
|
|
|
|
|
|
|
|
|
|
Unsupported third party contributions are provided in directory "contrib".
|
|
|
|
|
|
|
|
A Java implementation of zlib is available in the Java Development Kit 1.1
|
|
|
|
http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
|
|
|
|
See the zlib home page http://www.cdrom.com/pub/infozip/zlib/ for details.
|
2011-09-10 02:15:17 -04:00
|
|
|
|
|
|
|
A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk>
|
|
|
|
is in the CPAN (Comprehensive Perl Archive Network) sites, such as:
|
|
|
|
ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
|
|
|
|
|
2011-09-10 02:17:33 -04:00
|
|
|
A Python interface to zlib written by A.M. Kuchling <amk@magnet.com>
|
|
|
|
is available from the Python Software Association sites, such as:
|
|
|
|
ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz
|
2011-09-10 02:14:39 -04:00
|
|
|
|
2011-09-10 02:19:55 -04:00
|
|
|
An experimental package to read files in .zip format, written on top of
|
|
|
|
zlib by Gilles Vollant <info@winimage.com>, is available at
|
|
|
|
http://www.winimage.com/zLibDll/unzip.html
|
|
|
|
|
|
|
|
|
2011-09-10 02:14:39 -04:00
|
|
|
Notes for some targets:
|
2011-09-10 02:13:27 -04:00
|
|
|
|
2011-09-10 02:17:33 -04:00
|
|
|
- To build a Windows DLL version, include in a DLL project zlib.def, zlib.rc
|
|
|
|
and all .c files except example.c and minigzip.c; compile with -DZLIB_DLL
|
|
|
|
The zlib DLL support was initially done by Alessandro Iacopetti and is
|
|
|
|
now maintained by Gilles Vollant <info@winimage.com>. Check the zlib DLL
|
|
|
|
home page at http://www.winimage.com/zLibDll
|
2011-09-10 02:11:37 -04:00
|
|
|
|
2011-09-10 02:17:33 -04:00
|
|
|
From Visual Basic, you can call the DLL functions which do not take
|
|
|
|
a structure as argument: compress, uncompress and all gz* functions.
|
|
|
|
See contrib/visual-basic.txt for more information.
|
|
|
|
I don't know how to handle structures in Visual Basic, sorry.
|
|
|
|
|
|
|
|
- For 64-bit Irix, deflate.c must be compiled without any optimization.
|
2011-09-10 02:14:39 -04:00
|
|
|
With -O, one libpng test fails. The test works in 32 bit mode (with
|
2011-09-10 02:17:33 -04:00
|
|
|
the -n32 compiler flag). The compiler bug has been reported to SGI.
|
2011-09-10 02:14:39 -04:00
|
|
|
|
|
|
|
- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1
|
|
|
|
it works when compiled with cc.
|
|
|
|
|
2011-09-10 02:19:21 -04:00
|
|
|
- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works
|
|
|
|
with other compilers. Use "make test" to check your compiler.
|
2011-09-10 02:14:39 -04:00
|
|
|
|
2011-09-10 02:18:57 -04:00
|
|
|
- For shared memory multiprocessors, the decompression code assumes that
|
2011-09-10 02:19:21 -04:00
|
|
|
writes to pointers are atomic. Also the functions zalloc and zfree passed
|
|
|
|
to deflateInit must be multi-threaded in this case.
|
2011-09-10 02:18:57 -04:00
|
|
|
|
2011-09-10 02:19:55 -04:00
|
|
|
- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers.
|
2011-09-10 02:14:39 -04:00
|
|
|
|
2011-09-10 02:17:33 -04:00
|
|
|
- For Turbo C the small model is supported only with reduced performance to
|
|
|
|
avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3
|
|
|
|
|
2011-09-10 02:14:39 -04:00
|
|
|
|
|
|
|
Acknowledgments:
|
2011-09-10 02:11:37 -04:00
|
|
|
|
2011-09-10 02:14:39 -04:00
|
|
|
The deflate format used by zlib was defined by Phil Katz. The deflate
|
|
|
|
and zlib specifications were written by Peter Deutsch. Thanks to all the
|
|
|
|
people who reported problems and suggested various improvements in zlib;
|
|
|
|
they are too numerous to cite here.
|
2011-09-10 02:11:37 -04:00
|
|
|
|
|
|
|
Copyright notice:
|
|
|
|
|
2011-09-10 02:17:17 -04:00
|
|
|
(C) 1995-1998 Jean-loup Gailly and Mark Adler
|
2011-09-10 01:36:31 -04:00
|
|
|
|
|
|
|
This software is provided 'as-is', without any express or implied
|
|
|
|
warranty. In no event will the authors be held liable for any damages
|
|
|
|
arising from the use of this software.
|
|
|
|
|
|
|
|
Permission is granted to anyone to use this software for any purpose,
|
|
|
|
including commercial applications, and to alter it and redistribute it
|
|
|
|
freely, subject to the following restrictions:
|
|
|
|
|
|
|
|
1. The origin of this software must not be misrepresented; you must not
|
|
|
|
claim that you wrote the original software. If you use this software
|
|
|
|
in a product, an acknowledgment in the product documentation would be
|
|
|
|
appreciated but is not required.
|
|
|
|
2. Altered source versions must be plainly marked as such, and must not be
|
|
|
|
misrepresented as being the original software.
|
|
|
|
3. This notice may not be removed or altered from any source distribution.
|
|
|
|
|
|
|
|
Jean-loup Gailly Mark Adler
|
2011-09-10 02:17:33 -04:00
|
|
|
jloup@gzip.org madler@alumni.caltech.edu
|
2011-09-10 01:36:31 -04:00
|
|
|
|
|
|
|
If you use the zlib library in a product, we would appreciate *not*
|
|
|
|
receiving lengthy legal documents to sign. The sources are provided
|
|
|
|
for free but without warranty of any kind. The library has been
|
|
|
|
entirely written by Jean-loup Gailly and Mark Adler; it does not
|
|
|
|
include third-party code.
|
|
|
|
|
|
|
|
If you redistribute modified sources, we would appreciate that you include
|
|
|
|
in the file ChangeLog history information documenting your changes.
|