c62d2810 |
1 | zlib 1.1.3 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 Unix: "configure; make test; make install" |
18 | For MSDOS, use one of the special makefiles such as Makefile.msc. |
19 | For VMS, use Make_vms.com or descrip.mms. |
20 | |
21 | Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov>, or to |
22 | Gilles Vollant <info@winimage.com> for the Windows DLL version. |
23 | The zlib home page is http://www.cdrom.com/pub/infozip/zlib/ |
24 | The official zlib ftp site is ftp://ftp.cdrom.com/pub/infozip/zlib/ |
25 | Before reporting a problem, please check those sites to verify that |
26 | you have the latest version of zlib; otherwise get the latest version and |
27 | check whether the problem still exists or not. |
28 | |
29 | Mark Nelson <markn@tiny.com> wrote an article about zlib for the Jan. 1997 |
30 | issue of Dr. Dobb's Journal; a copy of the article is available in |
31 | http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm |
32 | |
33 | The changes made in version 1.1.3 are documented in the file ChangeLog. |
34 | The main changes since 1.1.2 are: |
35 | |
36 | - fix "an inflate input buffer bug that shows up on rare but persistent |
37 | occasions" (Mark) |
38 | - fix gzread and gztell for concatenated .gz files (Didier Le Botlan) |
39 | - fix gzseek(..., SEEK_SET) in write mode |
40 | - fix crc check after a gzeek (Frank Faubert) |
41 | - fix miniunzip when the last entry in a zip file is itself a zip file |
42 | (J Lillge) |
43 | - add contrib/asm586 and contrib/asm686 (Brian Raiter) |
44 | See http://www.muppetlabs.com/~breadbox/software/assembly.html |
45 | - add support for Delphi 3 in contrib/delphi (Bob Dellaca) |
46 | - add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti) |
47 | - do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren) |
48 | - use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks) |
49 | - added a FAQ file |
50 | |
51 | plus many changes for portability. |
52 | |
53 | Unsupported third party contributions are provided in directory "contrib". |
54 | |
55 | A Java implementation of zlib is available in the Java Development Kit 1.1 |
56 | http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html |
57 | See the zlib home page http://www.cdrom.com/pub/infozip/zlib/ for details. |
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 | A Python interface to zlib written by A.M. Kuchling <amk@magnet.com> |
64 | is available in Python 1.5 and later versions, see |
65 | http://www.python.org/doc/lib/module-zlib.html |
66 | |
67 | A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com> |
68 | is availlable at http://www.westend.com/~kupries/doc/trf/man/man.html |
69 | |
70 | An experimental package to read and write files in .zip format, |
71 | written on top of zlib by Gilles Vollant <info@winimage.com>, is |
72 | available at http://www.winimage.com/zLibDll/unzip.html |
73 | and also in the contrib/minizip directory of zlib. |
74 | |
75 | |
76 | Notes for some targets: |
77 | |
78 | - To build a Windows DLL version, include in a DLL project zlib.def, zlib.rc |
79 | and all .c files except example.c and minigzip.c; compile with -DZLIB_DLL |
80 | The zlib DLL support was initially done by Alessandro Iacopetti and is |
81 | now maintained by Gilles Vollant <info@winimage.com>. Check the zlib DLL |
82 | home page at http://www.winimage.com/zLibDll |
83 | |
84 | From Visual Basic, you can call the DLL functions which do not take |
85 | a structure as argument: compress, uncompress and all gz* functions. |
86 | See contrib/visual-basic.txt for more information, or get |
87 | http://www.tcfb.com/dowseware/cmp-z-it.zip |
88 | |
89 | - For 64-bit Irix, deflate.c must be compiled without any optimization. |
90 | With -O, one libpng test fails. The test works in 32 bit mode (with |
91 | the -n32 compiler flag). The compiler bug has been reported to SGI. |
92 | |
93 | - zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 |
94 | it works when compiled with cc. |
95 | |
96 | - on Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 |
97 | is necessary to get gzprintf working correctly. This is done by configure. |
98 | |
99 | - zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works |
100 | with other compilers. Use "make test" to check your compiler. |
101 | |
102 | - gzdopen is not supported on RISCOS, BEOS and by some Mac compilers. |
103 | |
104 | - For Turbo C the small model is supported only with reduced performance to |
105 | avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 |
106 | |
107 | - For PalmOs, see http://www.cs.uit.no/~perm/PASTA/pilot/software.html |
108 | Per Harald Myrvang <perm@stud.cs.uit.no> |
109 | |
110 | |
111 | Acknowledgments: |
112 | |
113 | The deflate format used by zlib was defined by Phil Katz. The deflate |
114 | and zlib specifications were written by L. Peter Deutsch. Thanks to all the |
115 | people who reported problems and suggested various improvements in zlib; |
116 | they are too numerous to cite here. |
117 | |
118 | Copyright notice: |
119 | |
120 | (C) 1995-1998 Jean-loup Gailly and Mark Adler |
121 | |
122 | This software is provided 'as-is', without any express or implied |
123 | warranty. In no event will the authors be held liable for any damages |
124 | arising from the use of this software. |
125 | |
126 | Permission is granted to anyone to use this software for any purpose, |
127 | including commercial applications, and to alter it and redistribute it |
128 | freely, subject to the following restrictions: |
129 | |
130 | 1. The origin of this software must not be misrepresented; you must not |
131 | claim that you wrote the original software. If you use this software |
132 | in a product, an acknowledgment in the product documentation would be |
133 | appreciated but is not required. |
134 | 2. Altered source versions must be plainly marked as such, and must not be |
135 | misrepresented as being the original software. |
136 | 3. This notice may not be removed or altered from any source distribution. |
137 | |
138 | Jean-loup Gailly Mark Adler |
139 | jloup@gzip.org madler@alumni.caltech.edu |
140 | |
141 | If you use the zlib library in a product, we would appreciate *not* |
142 | receiving lengthy legal documents to sign. The sources are provided |
143 | for free but without warranty of any kind. The library has been |
144 | entirely written by Jean-loup Gailly and Mark Adler; it does not |
145 | include third-party code. |
146 | |
147 | If you redistribute modified sources, we would appreciate that you include |
148 | in the file ChangeLog history information documenting your changes. |