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