README 3.7 KB
Newer Older
M
Mark Adler 已提交
1 2 3 4 5 6
zlib 1.0 is a general purpose data compression library.
All the code is reentrant (thread safe).

The data format used by the zlib library is described in the
files zlib-3.2.doc, deflate-1.2.doc and gzip-4.2.doc, available
in ftp://ftp.uu.net/pub/archiving/zip/doc
M
Mark Adler 已提交
7 8 9

All functions of the compression library are documented in the file
zlib.h. A usage example of the library is given in the file example.c
M
Mark Adler 已提交
10
which also tests that the library is working correctly. Another
M
Mark Adler 已提交
11
example is given in the file minigzip.c.
M
Mark Adler 已提交
12

M
Mark Adler 已提交
13 14 15 16 17 18 19
To compile all files and run the test program, just type: make test
(For MSDOS, use one of the special makefiles such as Makefile.msc;
for VMS, use Make_vms.com or descrip.mms.)
To install the zlib library (libz.a) in /usr/local/lib, type: make install
To install in a different directory, use for example:
  make install prefix=$HOME
This will install in $HOME/lib instead of /usr/local/lib.
M
Mark Adler 已提交
20

M
Mark Adler 已提交
21
Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov>.
M
Mark Adler 已提交
22 23 24 25 26 27 28 29

The changes made in version 1.0 are documented in the file ChangeLog.
The main changes since 0.95 are:
- allow compression level 0 (no compression)
- add deflateParams in zlib.h: allow dynamic change of compression level
  and compression strategy.
- test large buffers and deflateParams in example.c
- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2)
M
Mark Adler 已提交
30
- fixes for 64-bit systems (needed for Alpha and Cray)
M
Mark Adler 已提交
31
- always return Z_BUF_ERROR when deflate() has nothing to do
M
Mark Adler 已提交
32
- fix some very unlikely race conditions.
M
Mark Adler 已提交
33 34 35 36 37
- several minor fixes for better portability
- free in reverse order of allocation to help memory manager

Notes for some targets:

M
Mark Adler 已提交
38 39 40 41 42 43 44 45 46 47
- For MSDOS, the small and medium models have been tested only with
  Microsoft C.  (This should work for Borland C also, but I don't have
  a Borland compiler to test with.) The small model was tested with
  Turbo C but only with reduced performance to avoid any far
  allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3

  MS Visual C++1.5 in far model gives:
     warning C4746: 'z_errmsg' : unsized array treated as '__far'
     warning C4746: 'inflate_mask' : unsized array treated as  '__far'
  Ignore those warnings.
M
Mark Adler 已提交
48 49 50 51 52 53 54 55 56

- For 64-bit Iris, deflate.c must be compiled without any optimization.
  With -O, one libpng test fails. The test works in 32 bit mode (with the
  -32 compiler flag).


Copyright notice:

 (C) 1995-1996 Jean-loup Gailly and Mark Adler
M
Mark Adler 已提交
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74

  This software is provided 'as-is', without any express or implied
  warranty.  In no event will the authors be held liable for any damages
  arising from the use of this software.

  Permission is granted to anyone to use this software for any purpose,
  including commercial applications, and to alter it and redistribute it
  freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
     claim that you wrote the original software. If you use this software
     in a product, an acknowledgment in the product documentation would be
     appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
     misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

  Jean-loup Gailly        Mark Adler
M
Mark Adler 已提交
75
  gzip@prep.ai.mit.edu    madler@alumni.caltech.edu
M
Mark Adler 已提交
76 77 78 79 80 81 82 83 84

If you use the zlib library in a product, we would appreciate *not*
receiving lengthy legal documents to sign. The sources are provided
for free but without warranty of any kind.  The library has been
entirely written by Jean-loup Gailly and Mark Adler; it does not
include third-party code.

If you redistribute modified sources, we would appreciate that you include
in the file ChangeLog history information documenting your changes.