]>
Commit | Line | Data |
---|---|---|
1 | zlib 1.1.2 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 <markn@tiny.com> wrote an article about zlib for the Jan. 1997 | |
25 | issue of 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.2 are documented in the file ChangeLog. | |
29 | The 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 | ||
47 | Unsupported third party contributions are provided in directory "contrib". | |
48 | ||
49 | A Java implementation of zlib is available in the Java Development Kit 1.1 | |
50 | http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html | |
51 | See the zlib home page http://www.cdrom.com/pub/infozip/zlib/ for details. | |
52 | ||
53 | A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk> | |
54 | is in the CPAN (Comprehensive Perl Archive Network) sites, such as: | |
55 | ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib* | |
56 | ||
57 | A Python interface to zlib written by A.M. Kuchling <amk@magnet.com> | |
58 | is available from the Python Software Association sites, such as: | |
59 | ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz | |
60 | ||
61 | A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com> | |
62 | is availlable at http://www.westend.com/~kupries/doc/trf/man/man.html | |
63 | ||
64 | An experimental package to read and write files in .zip format, | |
65 | written on top of zlib by Gilles Vollant <info@winimage.com>, is | |
66 | available at http://www.winimage.com/zLibDll/unzip.html | |
67 | and also in the contrib/minizip directory of zlib. | |
68 | ||
69 | ||
70 | Notes 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 | ||
106 | Acknowledgments: | |
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 | ||
113 | Copyright 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 | ||
136 | If you use the zlib library in a product, we would appreciate *not* | |
137 | receiving lengthy legal documents to sign. The sources are provided | |
138 | for free but without warranty of any kind. The library has been | |
139 | entirely written by Jean-loup Gailly and Mark Adler; it does not | |
140 | include third-party code. | |
141 | ||
142 | If you redistribute modified sources, we would appreciate that you include | |
143 | in the file ChangeLog history information documenting your changes. |