]> git.lizzy.rs Git - zlib.git/blob - README
zlib 1.1.0
[zlib.git] / README
1 zlib 1.1.0 is a general purpose data compression library.  All the code
2 is thread safe.  The data format used by the zlib library
3 is described by RFCs (Request for Comments) 1950 to 1952 in the files 
4 ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate
5 format) and rfc1952.txt (gzip format). These documents are also available in
6 other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
7
8 All functions of the compression library are documented in the file zlib.h
9 (volunteer to write man pages welcome, contact jloup@gzip.org). A usage
10 example of the library is given in the file example.c which also tests that
11 the library is working correctly. Another example is given in the file
12 minigzip.c. The compression library itself is composed of all source files
13 except example.c and minigzip.c.
14
15 To compile all files and run the test program, follow the instructions
16 given at the top of Makefile. In short "make test; make install"
17 should work for most machines.  For MSDOS, use one of the special
18 makefiles such as Makefile.msc; for VMS, use Make_vms.com or descrip.mms.
19
20 Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov> or,
21 if this fails, to the addresses given below in the Copyright section.
22 The zlib home page is http://www.cdrom.com/pub/infozip/zlib/
23 The official zlib ftp site is ftp://ftp.cdrom.com/pub/infozip/zlib/
24 Mark Nelson wrote an article about zlib for the Jan. 1997 issue of 
25 Dr. Dobb's Journal; a copy of the article is available in
26 http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
27
28 The changes made in version 1.1.0 are documented in the file ChangeLog.
29 The main changes since 1.0.9 are:
30
31 - do not return STREAM_END prematurely in inflate (John Bowler)
32 - revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler)
33 - compile with -DFASTEST to get compression code optimized for speed only
34 - in minigzip, try mmap'ing the input file first (Miguel Albrecht)
35 - increase size of I/O buffers in minigzip.c and gzio.c (not a big gain
36   on Sun but significant on HP)
37
38
39 Unsupported third party contributions are provided in directory "contrib".
40
41 A Java implementation of zlib is available in the Java Development Kit 1.1
42 http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
43 See the zlib home page http://www.cdrom.com/pub/infozip/zlib/ for details.
44
45 A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk>
46 is in the CPAN (Comprehensive Perl Archive Network) sites, such as:
47 ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
48
49 A Python interface to zlib written by A.M. Kuchling <amk@magnet.com>
50 is available from the Python Software Association sites, such as:
51 ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz
52
53 An experimental package to read files in .zip format, written on top of
54 zlib by Gilles Vollant <info@winimage.com>, is available at
55 http://www.winimage.com/zLibDll/unzip.html
56
57
58 Notes for some targets:
59
60 - To build a Windows DLL version, include in a DLL project zlib.def, zlib.rc
61   and all .c files except example.c and minigzip.c; compile with -DZLIB_DLL
62   The zlib DLL support was initially done by Alessandro Iacopetti and is
63   now maintained by Gilles Vollant <info@winimage.com>. Check the zlib DLL
64   home page at http://www.winimage.com/zLibDll
65
66   From Visual Basic, you can call the DLL functions which do not take
67   a structure as argument: compress, uncompress and all gz* functions.
68   See contrib/visual-basic.txt for more information.
69   I don't know how to handle structures in Visual Basic, sorry.
70
71 - For 64-bit Irix, deflate.c must be compiled without any optimization.
72   With -O, one libpng test fails. The test works in 32 bit mode (with
73   the -n32 compiler flag). The compiler bug has been reported to SGI.
74
75 - zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1   
76   it works when compiled with cc.
77
78 - zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works
79   with other compilers. Use "make test" to check your compiler.
80
81 - For shared memory multiprocessors, the decompression code assumes that
82   writes to pointers are atomic. Also the functions zalloc and zfree passed
83   to deflateInit must be multi-threaded in this case.
84
85 - gzdopen is not supported on RISCOS, BEOS and by some Mac compilers.
86
87 - For Turbo C the small model is supported only with reduced performance to
88   avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3
89
90
91 Acknowledgments:
92
93   The deflate format used by zlib was defined by Phil Katz. The deflate
94   and zlib specifications were written by Peter Deutsch. Thanks to all the
95   people who reported problems and suggested various improvements in zlib;
96   they are too numerous to cite here.
97
98 Copyright notice:
99
100  (C) 1995-1998 Jean-loup Gailly and Mark Adler
101
102   This software is provided 'as-is', without any express or implied
103   warranty.  In no event will the authors be held liable for any damages
104   arising from the use of this software.
105
106   Permission is granted to anyone to use this software for any purpose,
107   including commercial applications, and to alter it and redistribute it
108   freely, subject to the following restrictions:
109
110   1. The origin of this software must not be misrepresented; you must not
111      claim that you wrote the original software. If you use this software
112      in a product, an acknowledgment in the product documentation would be
113      appreciated but is not required.
114   2. Altered source versions must be plainly marked as such, and must not be
115      misrepresented as being the original software.
116   3. This notice may not be removed or altered from any source distribution.
117
118   Jean-loup Gailly        Mark Adler
119   jloup@gzip.org          madler@alumni.caltech.edu
120
121 If you use the zlib library in a product, we would appreciate *not*
122 receiving lengthy legal documents to sign. The sources are provided
123 for free but without warranty of any kind.  The library has been
124 entirely written by Jean-loup Gailly and Mark Adler; it does not
125 include third-party code.
126
127 If you redistribute modified sources, we would appreciate that you include
128 in the file ChangeLog history information documenting your changes.