| zlib 1.0 is a general purpose data compression library. All the code |
| is reentrant (thread safe). The data format used by the zlib library |
| is described in the files zlib-3.3.doc, deflate-1.3.doc and |
| gzip-4.3.doc, available in ftp://ftp.uu.net/pub/archiving/zip/doc/ |
| |
| All functions of the compression library are documented in the file |
| zlib.h. 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. |
| |
| 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. |
| |
| The changes made in version 1.0 are documented in the file ChangeLog. |
| The main changes since 0.95 are: |
| - allow preset dictionary shared between compressor and decompressor |
| - allow compression level 0 (no compression) |
| - add deflateParams in zlib.h: allow dynamic change of compression level |
| and compression strategy. |
| - test large buffers and deflateParams in example.c |
| - add optional "configure" to build zlib as a shared library |
| - suppress Makefile.qnx, use configure instead |
| - fixes for 64-bit systems (needed for Alpha and Cray) |
| - declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2) |
| - always return Z_BUF_ERROR when deflate() has nothing to do |
| - deflateInit and inflateInit are now macros to allow version checking |
| - prefix all global functions and types with z_ with -DZ_PREFIX |
| - fix some very unlikely race conditions in multi-threaded environment |
| - several minor fixes for better portability |
| - free in reverse order of allocation to help memory manager |
| - use zlib-1.0/* instead of zlib/* inside the tar.gz |
| - make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith |
| -Wconversion -Wstrict-prototypes -Wmissing-prototypes" |
| - allow gzread on concatenated .gz files |
| - deflateEnd now returns Z_DATA_ERROR if it was premature |
| - deflate is finally (?) fully deterministic |
| |
| Notes for some targets: |
| |
| - 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 |
| |
| - For 64-bit Iris, deflate.c must be compiled without any optimization. |
| With -O, one libpng test fails. The test works in 32 bit mode (with the |
| -32 compiler flag). |
| |
| - 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. |
| |
| - zlib doesn't work on HP-UX 9.05 with one cc compiler (the one not |
| accepting the -O option). It works with the other cc compiler. |
| |
| 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* |
| |
| Acknowledgments: |
| |
| 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. |
| |
| Copyright notice: |
| |
| (C) 1995-1996 Jean-loup Gailly and Mark Adler |
| |
| 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 |
| gzip@prep.ai.mit.edu madler@alumni.caltech.edu |
| |
| 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. |