]> git.lizzy.rs Git - zlib.git/blob - README
zlib 0.99
[zlib.git] / README
1 zlib 1.0 is a general purpose data compression library.  All the code
2 is reentrant (thread safe).  The data format used by the zlib library
3 is described in the files zlib-3.3.doc, deflate-1.3.doc and
4 gzip-4.3.doc, available in ftp://ftp.uu.net/pub/archiving/zip/doc/
5
6 All functions of the compression library are documented in the file
7 zlib.h. A usage example of the library is given in the file example.c
8 which also tests that the library is working correctly. Another
9 example is given in the file minigzip.c. The compression library itself
10 is composed of all source files except example.c and minigzip.c.
11
12 To compile all files and run the test program, follow the instructions
13 given at the top of Makefile. In short "make test; make install"
14 should work for most machines.  For MSDOS, use one of the special
15 makefiles such as Makefile.msc; for VMS, use Make_vms.com or descrip.mms.
16
17 Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov> or,
18 if this fails, to the addresses given below in the Copyright section.
19
20 The changes made in version 1.0 are documented in the file ChangeLog.
21 The main changes since 0.95 are:
22 - allow preset dictionary shared between compressor and decompressor
23 - allow compression level 0 (no compression)
24 - add deflateParams in zlib.h: allow dynamic change of compression level
25   and compression strategy.
26 - test large buffers and deflateParams in example.c
27 - add optional "configure" to build zlib as a shared library
28 - suppress Makefile.qnx, use configure instead
29 - fixes for 64-bit systems (needed for Alpha and Cray)
30 - declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2)
31 - always return Z_BUF_ERROR when deflate() has nothing to do
32 - deflateInit and inflateInit are now macros to allow version checking
33 - prefix all global functions and types with z_ with -DZ_PREFIX
34 - fix some very unlikely race conditions in multi-threaded environment
35 - several minor fixes for better portability
36 - free in reverse order of allocation to help memory manager
37 - use zlib-1.0/* instead of zlib/* inside the tar.gz
38 - make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith
39   -Wconversion -Wstrict-prototypes -Wmissing-prototypes"
40 - allow gzread on concatenated .gz files
41 - deflateEnd now returns Z_DATA_ERROR if it was premature
42 - deflate is finally (?) fully deterministic
43
44 Notes for some targets:
45
46 - For Turbo C the small model is supported only with reduced performance to
47   avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3
48
49 - For 64-bit Iris, deflate.c must be compiled without any optimization.
50   With -O, one libpng test fails. The test works in 32 bit mode (with the
51   -32 compiler flag).
52
53 - zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1   
54   it works when compiled with cc.
55
56 - zlib doesn't work on HP-UX 9.05 with one cc compiler (the one not
57   accepting the -O option). It works with the other cc compiler.
58
59 A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk>
60 is in the CPAN (Comprehensive Perl Archive Network) sites, such as:
61 ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
62
63 Acknowledgments:
64
65   The deflate format used by zlib was defined by Phil Katz. The deflate
66   and zlib specifications were written by Peter Deutsch. Thanks to all the
67   people who reported problems and suggested various improvements in zlib;
68   they are too numerous to cite here.
69
70 Copyright notice:
71
72  (C) 1995-1996 Jean-loup Gailly and Mark Adler
73
74   This software is provided 'as-is', without any express or implied
75   warranty.  In no event will the authors be held liable for any damages
76   arising from the use of this software.
77
78   Permission is granted to anyone to use this software for any purpose,
79   including commercial applications, and to alter it and redistribute it
80   freely, subject to the following restrictions:
81
82   1. The origin of this software must not be misrepresented; you must not
83      claim that you wrote the original software. If you use this software
84      in a product, an acknowledgment in the product documentation would be
85      appreciated but is not required.
86   2. Altered source versions must be plainly marked as such, and must not be
87      misrepresented as being the original software.
88   3. This notice may not be removed or altered from any source distribution.
89
90   Jean-loup Gailly        Mark Adler
91   gzip@prep.ai.mit.edu    madler@alumni.caltech.edu
92
93 If you use the zlib library in a product, we would appreciate *not*
94 receiving lengthy legal documents to sign. The sources are provided
95 for free but without warranty of any kind.  The library has been
96 entirely written by Jean-loup Gailly and Mark Adler; it does not
97 include third-party code.
98
99 If you redistribute modified sources, we would appreciate that you include
100 in the file ChangeLog history information documenting your changes.