• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

CHANGESH A D22-Apr-201611.3 KiB340248

LICENSEH A D22-Apr-20161.9 KiB4332

Makefile.amH A D22-Apr-2016843 244

Makefile.inH A D03-May-202220.1 KiB659561

READMEH A D22-Apr-20167.4 KiB215149

README.1stH A D22-Apr-2016378 107

blocksort.cH A D22-Apr-201629.9 KiB1,095729

bzlib.cH A D22-Apr-201644.7 KiB1,5731,183

bzlib.hH A D22-Apr-20166.1 KiB285195

bzlib_private.hH A D22-Apr-201612.9 KiB510321

compress.cH A D22-Apr-201620 KiB673439

crctable.cH A D22-Apr-20164.7 KiB10567

decompress.cH A D22-Apr-201620.4 KiB647505

huffman.cH A D22-Apr-20166.8 KiB206126

randtable.cH A D22-Apr-20163.7 KiB8555

README

1This is the README for bzip2/libzip2.
2This version is fully compatible with the previous public releases.
3
4------------------------------------------------------------------
5This file is part of bzip2/libbzip2, a program and library for
6lossless, block-sorting data compression.
7
8bzip2/libbzip2 version 1.0.6 of 6 September 2010
9Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
10
11Please read the WARNING, DISCLAIMER and PATENTS sections in this file.
12
13This program is released under the terms of the license contained
14in the file LICENSE.
15------------------------------------------------------------------
16
17Complete documentation is available in Postscript form (manual.ps),
18PDF (manual.pdf) or html (manual.html).  A plain-text version of the
19manual page is available as bzip2.txt.
20
21
22HOW TO BUILD -- UNIX
23
24Type 'make'.  This builds the library libbz2.a and then the programs
25bzip2 and bzip2recover.  Six self-tests are run.  If the self-tests
26complete ok, carry on to installation:
27
28To install in /usr/local/bin, /usr/local/lib, /usr/local/man and
29/usr/local/include, type
30
31   make install
32
33To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type
34
35   make install PREFIX=/xxx/yyy
36
37If you are (justifiably) paranoid and want to see what 'make install'
38is going to do, you can first do
39
40   make -n install                      or
41   make -n install PREFIX=/xxx/yyy      respectively.
42
43The -n instructs make to show the commands it would execute, but not
44actually execute them.
45
46
47HOW TO BUILD -- UNIX, shared library libbz2.so.
48
49Do 'make -f Makefile-libbz2_so'.  This Makefile seems to work for
50Linux-ELF (RedHat 7.2 on an x86 box), with gcc.  I make no claims
51that it works for any other platform, though I suspect it probably
52will work for most platforms employing both ELF and gcc.
53
54bzip2-shared, a client of the shared library, is also built, but not
55self-tested.  So I suggest you also build using the normal Makefile,
56since that conducts a self-test.  A second reason to prefer the
57version statically linked to the library is that, on x86 platforms,
58building shared objects makes a valuable register (%ebx) unavailable
59to gcc, resulting in a slowdown of 10%-20%, at least for bzip2.
60
61Important note for people upgrading .so's from 0.9.0/0.9.5 to version
621.0.X.  All the functions in the library have been renamed, from (eg)
63bzCompress to BZ2_bzCompress, to avoid namespace pollution.
64Unfortunately this means that the libbz2.so created by
65Makefile-libbz2_so will not work with any program which used an older
66version of the library.  I do encourage library clients to make the
67effort to upgrade to use version 1.0, since it is both faster and more
68robust than previous versions.
69
70
71HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc.
72
73It's difficult for me to support compilation on all these platforms.
74My approach is to collect binaries for these platforms, and put them
75on the master web site (http://www.bzip.org).  Look there.  However
76(FWIW), bzip2-1.0.X is very standard ANSI C and should compile
77unmodified with MS Visual C.  If you have difficulties building, you
78might want to read README.COMPILATION.PROBLEMS.
79
80At least using MS Visual C++ 6, you can build from the unmodified
81sources by issuing, in a command shell:
82
83   nmake -f makefile.msc
84
85(you may need to first run the MSVC-provided script VCVARS32.BAT
86 so as to set up paths to the MSVC tools correctly).
87
88
89VALIDATION
90
91Correct operation, in the sense that a compressed file can always be
92decompressed to reproduce the original, is obviously of paramount
93importance.  To validate bzip2, I used a modified version of Mark
94Nelson's churn program.  Churn is an automated test driver which
95recursively traverses a directory structure, using bzip2 to compress
96and then decompress each file it encounters, and checking that the
97decompressed data is the same as the original.
98
99
100
101Please read and be aware of the following:
102
103WARNING:
104
105   This program and library (attempts to) compress data by
106   performing several non-trivial transformations on it.
107   Unless you are 100% familiar with *all* the algorithms
108   contained herein, and with the consequences of modifying them,
109   you should NOT meddle with the compression or decompression
110   machinery.  Incorrect changes can and very likely *will*
111   lead to disastrous loss of data.
112
113
114DISCLAIMER:
115
116   I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
117   USE OF THIS PROGRAM/LIBRARY, HOWSOEVER CAUSED.
118
119   Every compression of a file implies an assumption that the
120   compressed file can be decompressed to reproduce the original.
121   Great efforts in design, coding and testing have been made to
122   ensure that this program works correctly.  However, the complexity
123   of the algorithms, and, in particular, the presence of various
124   special cases in the code which occur with very low but non-zero
125   probability make it impossible to rule out the possibility of bugs
126   remaining in the program.  DO NOT COMPRESS ANY DATA WITH THIS
127   PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER
128   SMALL, THAT THE DATA WILL NOT BE RECOVERABLE.
129
130   That is not to say this program is inherently unreliable.
131   Indeed, I very much hope the opposite is true.  bzip2/libbzip2
132   has been carefully constructed and extensively tested.
133
134
135PATENTS:
136
137   To the best of my knowledge, bzip2/libbzip2 does not use any
138   patented algorithms.  However, I do not have the resources
139   to carry out a patent search.  Therefore I cannot give any
140   guarantee of the above statement.
141
142
143
144WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ?
145
146   * Approx 10% faster compression, 30% faster decompression
147   * -t (test mode) is a lot quicker
148   * Can decompress concatenated compressed files
149   * Programming interface, so programs can directly read/write .bz2 files
150   * Less restrictive (BSD-style) licensing
151   * Flag handling more compatible with GNU gzip
152   * Much more documentation, i.e., a proper user manual
153   * Hopefully, improved portability (at least of the library)
154
155WHAT'S NEW IN 0.9.5 ?
156
157   * Compression speed is much less sensitive to the input
158     data than in previous versions.  Specifically, the very
159     slow performance caused by repetitive data is fixed.
160   * Many small improvements in file and flag handling.
161   * A Y2K statement.
162
163WHAT'S NEW IN 1.0.0 ?
164
165   See the CHANGES file.
166
167WHAT'S NEW IN 1.0.2 ?
168
169   See the CHANGES file.
170
171WHAT'S NEW IN 1.0.3 ?
172
173   See the CHANGES file.
174
175WHAT'S NEW IN 1.0.4 ?
176
177   See the CHANGES file.
178
179WHAT'S NEW IN 1.0.5 ?
180
181   See the CHANGES file.
182
183WHAT'S NEW IN 1.0.6 ?
184
185   See the CHANGES file.
186
187
188I hope you find bzip2 useful.  Feel free to contact me at
189   jseward@bzip.org
190if you have any suggestions or queries.  Many people mailed me with
191comments, suggestions and patches after the releases of bzip-0.15,
192bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
1931.0.2 and 1.0.3, and the changes in bzip2 are largely a result of this
194feedback.  I thank you for your comments.
195
196bzip2's "home" is http://www.bzip.org/
197
198Julian Seward
199jseward@bzip.org
200Cambridge, UK.
201
20218     July 1996 (version 0.15)
20325   August 1996 (version 0.21)
204 7   August 1997 (bzip2, version 0.1)
20529   August 1997 (bzip2, version 0.1pl2)
20623   August 1998 (bzip2, version 0.9.0)
207 8     June 1999 (bzip2, version 0.9.5)
208 4     Sept 1999 (bzip2, version 0.9.5d)
209 5      May 2000 (bzip2, version 1.0pre8)
21030 December 2001 (bzip2, version 1.0.2pre1)
21115 February 2005 (bzip2, version 1.0.3)
21220 December 2006 (bzip2, version 1.0.4)
21310 December 2007 (bzip2, version 1.0.5)
214 6     Sept 2010 (bzip2, version 1.0.6)
215

README.1st

1This is a stripped down version of bzip2 - version 1.0.6.
2
3It does not include any drivers but merely builds the libbz2.a
4library.  The source has been taken from www.bzip.org on 2010-09-23
5and stripped down by g10 Code GmbH for use with Gpg4win and to be
6included into the GnupG 1.4.12 source.
7
8The only changed files are Makefile and bzlib.h (disabled Windows
9specific code).
10