diff options
Diffstat (limited to 'README')
| -rw-r--r-- | README | 70 |
1 files changed, 27 insertions, 43 deletions
| @@ -1,71 +1,55 @@ | |||
| 1 | zlib 1.0 is a general purpose data compression library. All the code | 1 | zlib 1.0 is a general purpose data compression library. |
| 2 | is reentrant (thread safe). The data format used by the zlib library | 2 | All the code is reentrant (thread safe). |
| 3 | is described in the files zlib-3.3.doc, deflate-1.3.doc and | 3 | |
| 4 | gzip-4.3.doc, available in ftp://ftp.uu.net/pub/archiving/zip/doc/ | 4 | The data format used by the zlib library is described in the |
| 5 | files zlib-3.2.doc, deflate-1.2.doc and gzip-4.2.doc, available | ||
| 6 | in ftp://ftp.uu.net/pub/archiving/zip/doc | ||
| 5 | 7 | ||
| 6 | All functions of the compression library are documented in the file | 8 | All functions of the compression library are documented in the file |
| 7 | zlib.h. A usage example of the library is given in the file example.c | 9 | zlib.h. A usage example of the library is given in the file example.c |
| 8 | which also tests that the library is working correctly. Another | 10 | which also tests that the library is working correctly. Another |
| 9 | example is given in the file minigzip.c. The compression library itself | 11 | example is given in the file minigzip.c. |
| 10 | is composed of all source files except example.c and minigzip.c. | ||
| 11 | 12 | ||
| 12 | To compile all files and run the test program, follow the instructions | 13 | To compile all files and run the test program, just type: make test |
| 13 | given at the top of Makefile. In short "make test; make install" | 14 | (For MSDOS, use one of the special makefiles such as Makefile.msc; |
| 14 | should work for most machines. For MSDOS, use one of the special | 15 | for VMS, use Make_vms.com or descrip.mms.) |
| 15 | makefiles such as Makefile.msc; for VMS, use Make_vms.com or descrip.mms. | 16 | To install the zlib library (libz.a) in /usr/local/lib, type: make install |
| 17 | To install in a different directory, use for example: | ||
| 18 | make install prefix=$HOME | ||
| 19 | This will install in $HOME/lib instead of /usr/local/lib. | ||
| 16 | 20 | ||
| 17 | Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov> or, | 21 | Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov>. |
| 18 | if this fails, to the addresses given below in the Copyright section. | ||
| 19 | 22 | ||
| 20 | The changes made in version 1.0 are documented in the file ChangeLog. | 23 | The changes made in version 1.0 are documented in the file ChangeLog. |
| 21 | The main changes since 0.95 are: | 24 | The main changes since 0.95 are: |
| 22 | - allow preset dictionary shared between compressor and decompressor | ||
| 23 | - allow compression level 0 (no compression) | 25 | - allow compression level 0 (no compression) |
| 24 | - add deflateParams in zlib.h: allow dynamic change of compression level | 26 | - add deflateParams in zlib.h: allow dynamic change of compression level |
| 25 | and compression strategy. | 27 | and compression strategy. |
| 26 | - test large buffers and deflateParams in example.c | 28 | - test large buffers and deflateParams in example.c |
| 27 | - add optional "configure" to build zlib as a shared library | ||
| 28 | - suppress Makefile.qnx, use configure instead | ||
| 29 | - fixes for 64-bit systems (needed for Alpha and Cray) | ||
| 30 | - declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2) | 29 | - declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2) |
| 30 | - fixes for 64-bit systems (needed for Alpha and Cray) | ||
| 31 | - always return Z_BUF_ERROR when deflate() has nothing to do | 31 | - always return Z_BUF_ERROR when deflate() has nothing to do |
| 32 | - deflateInit and inflateInit are now macros to allow version checking | 32 | - fix some very unlikely race conditions. |
| 33 | - prefix all global functions and types with z_ with -DZ_PREFIX | ||
| 34 | - fix some very unlikely race conditions in multi-threaded environment | ||
| 35 | - several minor fixes for better portability | 33 | - several minor fixes for better portability |
| 36 | - free in reverse order of allocation to help memory manager | 34 | - free in reverse order of allocation to help memory manager |
| 37 | - use zlib-1.0/* instead of zlib/* inside the tar.gz | ||
| 38 | - make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith | ||
| 39 | -Wconversion -Wstrict-prototypes -Wmissing-prototypes" | ||
| 40 | - allow gzread on concatenated .gz files | ||
| 41 | - deflateEnd now returns Z_DATA_ERROR if it was premature | ||
| 42 | - deflate is finally (?) fully deterministic | ||
| 43 | 35 | ||
| 44 | Notes for some targets: | 36 | Notes for some targets: |
| 45 | 37 | ||
| 46 | - For Turbo C the small model is supported only with reduced performance to | 38 | - For MSDOS, the small and medium models have been tested only with |
| 47 | avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 | 39 | Microsoft C. (This should work for Borland C also, but I don't have |
| 40 | a Borland compiler to test with.) The small model was tested with | ||
| 41 | Turbo C but only with reduced performance to avoid any far | ||
| 42 | allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 | ||
| 43 | |||
| 44 | MS Visual C++1.5 in far model gives: | ||
| 45 | warning C4746: 'z_errmsg' : unsized array treated as '__far' | ||
| 46 | warning C4746: 'inflate_mask' : unsized array treated as '__far' | ||
| 47 | Ignore those warnings. | ||
| 48 | 48 | ||
| 49 | - For 64-bit Iris, deflate.c must be compiled without any optimization. | 49 | - For 64-bit Iris, deflate.c must be compiled without any optimization. |
| 50 | With -O, one libpng test fails. The test works in 32 bit mode (with the | 50 | With -O, one libpng test fails. The test works in 32 bit mode (with the |
| 51 | -32 compiler flag). | 51 | -32 compiler flag). |
| 52 | 52 | ||
| 53 | - zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 | ||
| 54 | it works when compiled with cc. | ||
| 55 | |||
| 56 | - zlib doesn't work on HP-UX 9.05 with one cc compiler (the one not | ||
| 57 | accepting the -O option). It works with the other cc compiler. | ||
| 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 | Acknowledgments: | ||
| 64 | |||
| 65 | The deflate format used by zlib was defined by Phil Katz. The deflate | ||
| 66 | and zlib specifications were written by Peter Deutsch. Thanks to all the | ||
| 67 | people who reported problems and suggested various improvements in zlib; | ||
| 68 | they are too numerous to cite here. | ||
| 69 | 53 | ||
| 70 | Copyright notice: | 54 | Copyright notice: |
| 71 | 55 | ||
