From [via firstname.lastname@example.org]" <@21:1/5 to All on Thu Feb 25 22:45:54 2021
This is a port of lzlib 1.12 to MSDOS/DJGPP.
lzlib is a data compression library providing in-memory LZMA compression
and decompression functions, including integrity checking of the
decompressed data. The compressed data format used by the library is the
lzip format. lzlib is written in C.
DJGPP specific changes.
- There are no DJGPP specific changes to the library. Only the minilzip
program has been changed to work like the port of Clzip when only SFN
support is avaliable. minilzip is only build for testing purposes and
not installed at all.
- LFN support enabled is required to run the testsuite. The test data is
binary data thus the used unzip program must treat them as binary and
not as text data.
- The port has been configured and compiled on WinXP SP3 and Win98SE.
There is no guarantee that this may be possible with any other DOS-like
OS. Due to the massive use of long file names it will not be possible
to configure and compile without LFN support.
To build this port you will need an OS with LFN support to configure and
compile the source package.
As usual, all djgpp specific files (diffs, README files, etc.) are stored in
the /djgpp directory. The sources have been configured to be build in the
"_build" directory. If for some reason it does not work for you, delete it
contents and configure from scratch again.
For further information about lzlib please read the info docs and NEWS file.
Here is an extract of the NEWS file showing the user visible changes
from the last port (lzlib 1.8) to this one:
* Version 1.12 released.
* lzlib.h: Define LZ_API_VERSION as 1000 * major + minor. 1.12 = 1012.
This change does not affect the soversion.
* lzlib.h, lzlib.c: New function LZ_api_version.
* LZd_try_verify_trailer: Return 2 if EOF at trailer or EOS marker.
* Decompression speed has been slightly increased.
* decoder.h: Increase 'rd_min_available_bytes' from 8 to 10.
* encoder_base.c (LZeb_try_sync_flush):
Compensate for the increase in 'rd_min_available_bytes'.
* main.c (do_decompress): Fix false report about library stall.
* main.c: New option '--check-lib'.
* main.c (main): Report an error if a file name is empty.
Make '-o' behave like '-c', but writing to file instead of stdout.
Make '-c' and '-o' check whether the output is a terminal only once.
Do not open output if input is a terminal.
Replace 'decompressed', 'compressed' with 'out', 'in' in output.
Set a valid invocation_name even if argc == 0.
* lzlib.texi: Document the new way of verifying the library version.
Document that 'LZ_(de)compress_close' and 'LZ_(de)compress_errno'
can be called with a null argument.
Document that sync flush marker is not allowed in lzip files.
Document the consequences of not calling 'LZ_decompress_finish'.
Document that 'LZ_decompress_read' returns at least once per member.
Document that 'LZ_(de)compress_read' can be called with a null
buffer pointer argument.
Real code examples for common uses have been added to the tutorial.
* bbexample.c: Don't use 'LZ_(de)compress_write_size'.
* lzcheck.c: New options '-s' (sync) and '-m' (member by member).
Test member by member without 'LZ_decompress_finish'.
* ffexample.c: New file containing example functions for file-to-file
* Document extraction from tar.lz in '--help' output and man page.
* Makefile.in: 'install-bin' no longer installs the man page.
New targets 'install-bin-compress' and 'install-bin-strip-compress'.
* testsuite: Add 9 new test files.
* Version 1.11 released.
* Rename File_* to Lzip_*.
* LZ_decompress_read: Don't return error until all data is read.
* decoder.c (LZd_decode_member): Decode truncated data until EOF.
* cbuffer.c (Cb_read_data): Allow a null buffer pointer.
* main.c: Don't allow mixing different operations (-d and -t).
* main.c: Check return value of close( infd ).
* main.c: Compile on DOS with DJGPP.
* lzlib.texi: Improve descriptions of '-0..-9', '-m', and '-s'.
Document that 'LZ_(de)compress_finish' can be called repeatedly.
* configure: Accept appending to CFLAGS, 'CFLAGS+=OPTIONS'.
* Makefile.in: Rename targets 'install-bin*' to 'install-lib*'.
* Makefile.in: Targets 'install-bin*' now install minilzip.
* INSTALL: Document use of CFLAGS+='-D __USE_MINGW_ANSI_STDIO'.
* Version 1.10 released.
* LZ_compress_finish now adjusts dictionary size for each member.
* lzlib.c (LZ_decompress_read): Detect corrupt header with HD=3.
* main.c: New option '--loose-trailing'.
* main.c (main): Option '-S, --volume-size' now keeps input files.
* main.c: Replace 'bits/byte' with inverse compression ratio.
* main.c: Show final diagnostic when testing multiple files.
* main.c: Do not add a second .lz extension to the arg of -o.
* main.c: Show dictionary size at verbosity level 4 (-vvvv).
* lzlib.texi: New chapter 'Invoking minilzip'.
* Version 1.9 released.
* Compression time of option '-0' has been reduced by 3%.
* Compression time of options -1 to -9 has been reduced by 1%.
* Decompression time has been reduced by 3%.
* main.c: Continue testing if any input file is a terminal.
* Change the license of the library to "2-clause BSD".