fb30b5c295
Update README and comments. Fix correct setting of output size when using Delta2 without LZP.
108 lines
3.5 KiB
Text
108 lines
3.5 KiB
Text
Copyright (c) 2012 Moinak Ghosh
|
|
|
|
Basic Installation
|
|
==================
|
|
The simplest process to build and install this utility is:
|
|
|
|
./config
|
|
make
|
|
make install
|
|
|
|
In order to remove all binaries:
|
|
make clean
|
|
|
|
Remove all binaries and the generated Makefile:
|
|
make distclean
|
|
|
|
Strictly speaking the 'make install' step is not required to
|
|
run the utility as it is a single stand alone program for now.
|
|
|
|
The config script controls various compile time parameters and
|
|
generates the actual Makefile. You can get a short description
|
|
of all the options by running:
|
|
|
|
./config --help
|
|
|
|
NOTE: Basic Installation does not enable support for Libbsc, a
|
|
new block-sorting compressor (similar to but better than
|
|
Bzip2). See below for details.
|
|
|
|
Testing
|
|
=======
|
|
|
|
After running make as given above you can run:
|
|
make test
|
|
|
|
This will generate some data files from /usr/bin /usr/share and
|
|
/usr/include directories and then run a whole lot of tests. These
|
|
execute pcompress with a wide variety of combinations of options.
|
|
For every test both compression and decompression are performed
|
|
and after every decompression the decompressed file is verified
|
|
byte for byte with the original using the diff utility.
|
|
|
|
It takes a while to run all the tests.
|
|
|
|
Custom Installation
|
|
===================
|
|
The options to the config script are detailed below. Note that this is
|
|
not the usual GNU Autoconf script.
|
|
|
|
./config [<options>]
|
|
|
|
<options> can be one of the following:
|
|
|
|
--prefix=<val> The installation prefix.
|
|
This is set to /usr by default. However alternate
|
|
prefix needs to eb used during packaging.
|
|
|
|
--enable-debug Enable debug mode compilation.
|
|
This reduces the compiler optimization level to
|
|
basic and taks out all the loop optimization flags.
|
|
This is primarily to aid debugging.
|
|
|
|
--disable-allocator Disable use of internal memory allocator mechanism.
|
|
The internal allocator can be totally disabled by
|
|
setting this build time flag. It is also possible
|
|
to dynamically disable the allocator by setting the
|
|
following env variable:
|
|
ALLOCATOR_BYPASS=1
|
|
|
|
--enable-debug-stats Enable printing of some verbose debug info.
|
|
This at present shows some info related to Dedupe
|
|
efficiency.
|
|
|
|
--with-libbsc=<path_to_libbsc_source>
|
|
Enable support for libbsc (See: libbsc.com). Full
|
|
path to the libbsc source tree must be provided. It
|
|
links the library statically.
|
|
|
|
--with-zlib=<path to zlib installation tree> (Default: System)
|
|
Enable building against an alternate Zlib installation.
|
|
|
|
--with-bzlib=<path to Bzip2 library installation tree> (Default: System)
|
|
Enable building against an alternate Bzip2 and library
|
|
installation.
|
|
|
|
--help Display the help message.
|
|
|
|
Steps for building with libbsc support
|
|
======================================
|
|
1) Download libbsc source from: http://libbsc.com/ . Click on the
|
|
"Download TAR Ball" button. Downloading the 3.1.0 release from the
|
|
Github project download page will Not work.
|
|
|
|
2) Extract the gzippped tarball. It will create a directory for example:
|
|
IlyaGrebnov-libbsc-0b12f29
|
|
|
|
3) Now cd into the pcompress directory and execute the config script
|
|
with the full path to the libbsc source directory. For example:
|
|
|
|
./config --with-libbsc=/full/path/to/IlyaGrebnov-libbsc-0b12f29
|
|
|
|
4) Now run make in the pcompress directory. This will also run make in
|
|
the libbsc source directory to build it.
|
|
|
|
5) Additional compilation flags can be passed to make like this:
|
|
make EXTRA_CPPFLAGS=<...> EXTRA_LDFLAGS=<...>
|
|
|
|
|