Split code to generate "rwx-----" strings into lib/permstring.c so it
[rsync/rsync.git] / zlib / README
CommitLineData
d4286ec4
PM
1zlib 1.1.2 is a general purpose data compression library. All the code
2is thread safe. The data format used by the zlib library
3is described by RFCs (Request for Comments) 1950 to 1952 in the files
4ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate
5format) and rfc1952.txt (gzip format). These documents are also available in
6other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
7
8All 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
10example of the library is given in the file example.c which also tests that
11the library is working correctly. Another example is given in the file
12minigzip.c. The compression library itself is composed of all source files
13except example.c and minigzip.c.
14
15To compile all files and run the test program, follow the instructions
16given at the top of Makefile. In short "make test; make install"
17should work for most machines. For MSDOS, use one of the special
18makefiles such as Makefile.msc; for VMS, use Make_vms.com or descrip.mms.
19
20Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov> or,
21if this fails, to the addresses given below in the Copyright section.
22The zlib home page is http://www.cdrom.com/pub/infozip/zlib/
23The official zlib ftp site is ftp://ftp.cdrom.com/pub/infozip/zlib/
24Mark Nelson <markn@tiny.com> wrote an article about zlib for the Jan. 1997
25issue of Dr. Dobb's Journal; a copy of the article is available in
26http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
27
28The changes made in version 1.1.2 are documented in the file ChangeLog.
29The main changes since 1.1.1 are:
30
31- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant)
32 See http://www.winimage.com/zLibDll/unzip.html
33- preinitialize the inflate tables for fixed codes, to make the code
34 completely thread safe (Mark)
35- some simplifications and slight speed-up to the inflate code (Mark)
36- fix gzeof on non-compressed files (Allan Schrum)
37- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs)
38- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn)
39- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny)
40- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori)
41- do not wrap extern "C" around system includes (Tom Lane)
42- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert)
43- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson)
44- allow "configure --prefix $HOME" (Tim Mooney)
45
46
47Unsupported third party contributions are provided in directory "contrib".
48
49A Java implementation of zlib is available in the Java Development Kit 1.1
50http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
51See the zlib home page http://www.cdrom.com/pub/infozip/zlib/ for details.
52
53A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk>
54is in the CPAN (Comprehensive Perl Archive Network) sites, such as:
55ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
56
57A Python interface to zlib written by A.M. Kuchling <amk@magnet.com>
58is available from the Python Software Association sites, such as:
59ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz
60
61A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com>
62is availlable at http://www.westend.com/~kupries/doc/trf/man/man.html
63
64An experimental package to read and write files in .zip format,
65written on top of zlib by Gilles Vollant <info@winimage.com>, is
66available at http://www.winimage.com/zLibDll/unzip.html
67and also in the contrib/minizip directory of zlib.
68
69
70Notes for some targets:
71
72- To build a Windows DLL version, include in a DLL project zlib.def, zlib.rc
73 and all .c files except example.c and minigzip.c; compile with -DZLIB_DLL
74 The zlib DLL support was initially done by Alessandro Iacopetti and is
75 now maintained by Gilles Vollant <info@winimage.com>. Check the zlib DLL
76 home page at http://www.winimage.com/zLibDll
77
78 From Visual Basic, you can call the DLL functions which do not take
79 a structure as argument: compress, uncompress and all gz* functions.
80 See contrib/visual-basic.txt for more information.
81 I don't know how to handle structures in Visual Basic, sorry.
82
83- For 64-bit Irix, deflate.c must be compiled without any optimization.
84 With -O, one libpng test fails. The test works in 32 bit mode (with
85 the -n32 compiler flag). The compiler bug has been reported to SGI.
86
87- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1
88 it works when compiled with cc.
89
90- on Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1
91 is necessary to get gzprintf working correctly. This is done by configure.
92
93- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works
94 with other compilers. Use "make test" to check your compiler.
95
96- For shared memory multiprocessors, the decompression code assumes that
97 writes to pointers are atomic. Also the functions zalloc and zfree passed
98 to deflateInit must be multi-threaded in this case.
99
100- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers.
101
102- For Turbo C the small model is supported only with reduced performance to
103 avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3
104
105
106Acknowledgments:
107
108 The deflate format used by zlib was defined by Phil Katz. The deflate
109 and zlib specifications were written by L. Peter Deutsch. Thanks to all the
110 people who reported problems and suggested various improvements in zlib;
111 they are too numerous to cite here.
112
113Copyright notice:
114
115 (C) 1995-1998 Jean-loup Gailly and Mark Adler
116
117 This software is provided 'as-is', without any express or implied
118 warranty. In no event will the authors be held liable for any damages
119 arising from the use of this software.
120
121 Permission is granted to anyone to use this software for any purpose,
122 including commercial applications, and to alter it and redistribute it
123 freely, subject to the following restrictions:
124
125 1. The origin of this software must not be misrepresented; you must not
126 claim that you wrote the original software. If you use this software
127 in a product, an acknowledgment in the product documentation would be
128 appreciated but is not required.
129 2. Altered source versions must be plainly marked as such, and must not be
130 misrepresented as being the original software.
131 3. This notice may not be removed or altered from any source distribution.
132
133 Jean-loup Gailly Mark Adler
134 jloup@gzip.org madler@alumni.caltech.edu
135
136If you use the zlib library in a product, we would appreciate *not*
137receiving lengthy legal documents to sign. The sources are provided
138for free but without warranty of any kind. The library has been
139entirely written by Jean-loup Gailly and Mark Adler; it does not
140include third-party code.
141
142If you redistribute modified sources, we would appreciate that you include
143in the file ChangeLog history information documenting your changes.