124 lines
4.6 KiB
Text
124 lines
4.6 KiB
Text
Copyright (c) 2012 Moinak Ghosh
|
|
|
|
Prerequisites
|
|
=============
|
|
64-bit System.
|
|
GCC 4.4 (with mpfr, ppl and cloog support packages for loop
|
|
vectorization).
|
|
libz (zlib) and development packages.
|
|
Libbz2 and development packages.
|
|
OpenSSL version 0.9.8 or greater.
|
|
Libarchive 3.x or greater and its development packages.
|
|
|
|
Basic Installation
|
|
==================
|
|
The simplest process to build and install this utility is:
|
|
|
|
./config
|
|
make
|
|
make install
|
|
|
|
The current makefiles and config scripts assume Gcc compiler is
|
|
in the PATH. Please update PATH before running config if that is
|
|
not the case.
|
|
|
|
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 long time to run all the tests. The complete test log
|
|
is stored in the file test.log. Test failures are indicated by the
|
|
error message starting with the word "FATAL". All other error
|
|
messages visible in the log are a result of negative testing where
|
|
the utility is expected to exit with an error.
|
|
|
|
The files test/t1.tst, test/t2.tst and so on are individual test
|
|
suites. It is possible to run a single test suite. For example to
|
|
run test/t4.tst the following command can be used:
|
|
make test TESTSUITE=4
|
|
|
|
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:
|
|
|
|
<options> can be one of the following:
|
|
|
|
--prefix=<val> The installation prefix (default: /usr).
|
|
|
|
--enable-debug Enable debug mode compilation (default: disabled).
|
|
|
|
--disable-allocator Disable use of internal memory allocator mechanism (default: enabled).
|
|
|
|
--enable-debug-stats Enable printing of some verbose debug info (default: disabled).
|
|
|
|
--with-openssl=<path to OpenSSL installation tree> (Default: System)
|
|
This defaults to the system's OpenSSL library. You can use this option
|
|
if you want to use an alternate OpenSSL installation.
|
|
|
|
--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.
|
|
|
|
--with-external-libbsc=<path to libbsc source tree>
|
|
Enable building with exernal libbsc sources. Can be used to link with
|
|
ASLv2 libbsc when using MPLv2 licensed sources.
|
|
|
|
--wavpack-dir=<path to WavPack source tree>
|
|
Points to the directory containing the WavPack sources. This option
|
|
must be specified if --disable-wavpack is not provided.
|
|
|
|
--disable-wavpack Disables the WavPack filter.
|
|
|
|
--no-sse-detect Do NOT attempt to probe the system's SSE capability for build flags.
|
|
Implies '--no-avx-detect' below.
|
|
|
|
--no-avx-detect Do NOT attempt to probe the system's AVX capability for build flags.
|
|
|
|
--no-1.3-archive-compat Disable compatibility with compressed archives created with Pcompress
|
|
version 1.3 (default: retain compatibility). Hash formats changed from
|
|
version 1.3 to 1.4 so this option is required if files created using
|
|
1.3 need to be decompressed by version 1.4 onwards.
|
|
|
|
--limit-key128 Limit key length to 128-bit encryption keys. Otherwise the default is to
|
|
use 256-bit keys changeable at runtime via the '-k <keylen>' option.
|
|
|
|
--help Display this help message.
|
|
|
|
Additional compilation flags can be passed to make like this:
|
|
make EXTRA_CPPFLAGS=<...> EXTRA_LDFLAGS=<...>
|
|
|