annotate Modules/zlib/README @ 58925:eecf1bef052d 2.6

Merged revisions 78207 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r78207 | ezio.melotti | 2010-02-17 01:26:09 +0200 (Wed, 17 Feb 2010) | 1 line #7930: fix stripid ........
author Ezio Melotti <ezio.melotti@gmail.com>
date Tue, 16 Feb 2010 23:29:44 +0000
parents 81fa47d2d477
children 4d2aa4bfb2d6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
1 ZLIB DATA COMPRESSION LIBRARY
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
2
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
3 zlib 1.2.3 is a general purpose data compression library. All the code is
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
4 thread safe. The data format used by the zlib library is described by RFCs
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
5 (Request for Comments) 1950 to 1952 in the files
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
6 http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
7 and rfc1952.txt (gzip format). These documents are also available in other
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
8 formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
9
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
10 All functions of the compression library are documented in the file zlib.h
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
11 (volunteer to write man pages welcome, contact zlib@gzip.org). A usage example
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
12 of the library is given in the file example.c which also tests that the library
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
13 is working correctly. Another example is given in the file minigzip.c. The
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
14 compression library itself is composed of all source files except example.c and
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
15 minigzip.c.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
16
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
17 To compile all files and run the test program, follow the instructions given at
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
18 the top of Makefile. In short "make test; make install" should work for most
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
19 machines. For Unix: "./configure; make test; make install". For MSDOS, use one
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
20 of the special makefiles such as Makefile.msc. For VMS, use make_vms.com.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
21
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
22 Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
23 <info@winimage.com> for the Windows DLL version. The zlib home page is
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
24 http://www.zlib.org or http://www.gzip.org/zlib/ Before reporting a problem,
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
25 please check this site to verify that you have the latest version of zlib;
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
26 otherwise get the latest version and check whether the problem still exists or
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
27 not.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
28
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
29 PLEASE read the zlib FAQ http://www.gzip.org/zlib/zlib_faq.html before asking
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
30 for help.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
31
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
32 Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
33 issue of Dr. Dobb's Journal; a copy of the article is available in
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
34 http://dogma.net/markn/articles/zlibtool/zlibtool.htm
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
35
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
36 The changes made in version 1.2.3 are documented in the file ChangeLog.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
37
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
38 Unsupported third party contributions are provided in directory "contrib".
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
39
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
40 A Java implementation of zlib is available in the Java Development Kit
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
41 http://java.sun.com/j2se/1.4.2/docs/api/java/util/zip/package-summary.html
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
42 See the zlib home page http://www.zlib.org for details.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
43
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
44 A Perl interface to zlib written by Paul Marquess <pmqs@cpan.org> is in the
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
45 CPAN (Comprehensive Perl Archive Network) sites
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
46 http://www.cpan.org/modules/by-module/Compress/
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
47
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
48 A Python interface to zlib written by A.M. Kuchling <amk@amk.ca> is
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
49 available in Python 1.5 and later versions, see
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
50 http://www.python.org/doc/lib/module-zlib.html
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
51
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
52 A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com> is
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
53 availlable at http://www.oche.de/~akupries/soft/trf/trf_zip.html
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
54
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
55 An experimental package to read and write files in .zip format, written on top
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
56 of zlib by Gilles Vollant <info@winimage.com>, is available in the
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
57 contrib/minizip directory of zlib.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
58
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
59
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
60 Notes for some targets:
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
61
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
62 - For Windows DLL versions, please see win32/DLL_FAQ.txt
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
63
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
64 - For 64-bit Irix, deflate.c must be compiled without any optimization. With
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
65 -O, one libpng test fails. The test works in 32 bit mode (with the -n32
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
66 compiler flag). The compiler bug has been reported to SGI.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
67
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
68 - zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
69 when compiled with cc.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
70
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
71 - On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
72 necessary to get gzprintf working correctly. This is done by configure.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
73
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
74 - zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
75 other compilers. Use "make test" to check your compiler.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
76
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
77 - gzdopen is not supported on RISCOS, BEOS and by some Mac compilers.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
78
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
79 - For PalmOs, see http://palmzlib.sourceforge.net/
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
80
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
81 - When building a shared, i.e. dynamic library on Mac OS X, the library must be
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
82 installed before testing (do "make install" before "make test"), since the
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
83 library location is specified in the library.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
84
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
85
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
86 Acknowledgments:
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
87
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
88 The deflate format used by zlib was defined by Phil Katz. The deflate
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
89 and zlib specifications were written by L. Peter Deutsch. Thanks to all the
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
90 people who reported problems and suggested various improvements in zlib;
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
91 they are too numerous to cite here.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
92
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
93 Copyright notice:
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
94
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
95 (C) 1995-2004 Jean-loup Gailly and Mark Adler
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
96
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
97 This software is provided 'as-is', without any express or implied
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
98 warranty. In no event will the authors be held liable for any damages
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
99 arising from the use of this software.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
100
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
101 Permission is granted to anyone to use this software for any purpose,
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
102 including commercial applications, and to alter it and redistribute it
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
103 freely, subject to the following restrictions:
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
104
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
105 1. The origin of this software must not be misrepresented; you must not
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
106 claim that you wrote the original software. If you use this software
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
107 in a product, an acknowledgment in the product documentation would be
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
108 appreciated but is not required.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
109 2. Altered source versions must be plainly marked as such, and must not be
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
110 misrepresented as being the original software.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
111 3. This notice may not be removed or altered from any source distribution.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
112
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
113 Jean-loup Gailly Mark Adler
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
114 jloup@gzip.org madler@alumni.caltech.edu
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
115
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
116 If you use the zlib library in a product, we would appreciate *not*
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
117 receiving lengthy legal documents to sign. The sources are provided
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
118 for free but without warranty of any kind. The library has been
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
119 entirely written by Jean-loup Gailly and Mark Adler; it does not
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
120 include third-party code.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
121
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
122 If you redistribute modified sources, we would appreciate that you include
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
123 in the file ChangeLog history information documenting your changes. Please
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
124 read the FAQ for more information on the distribution of modified source
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
125 versions.