xz-analysis-mirror/src/liblzma/rangecoder
Lasse Collin f42ee98166 Build system fixes
Don't use libtool convenience libraries to avoid recently
discovered long-standing subtle but somewhat severe bugs
in libtool (at least 1.5.22 and 2.2.6 are affected). It
was found when porting XZ Utils to Windows
<http://lists.gnu.org/archive/html/libtool/2009-06/msg00070.html>
but the problem is significant also e.g. on GNU/Linux.

Unless --disable-shared is passed to configure, static
library built from a set of convenience libraries will
contain PIC objects. That is, while libtool builds non-PIC
objects too, only PIC objects will be used from the
convenience libraries. On 32-bit x86 (tested on mobile XP2400+),
using PIC instead of non-PIC makes the decompressor 10 % slower
with the default CFLAGS.

So while xz was linked against static liblzma by default,
it got the slower PIC objects unless --disable-shared was
used. I tend develop and benchmark with --disable-shared
due to faster build time, so I hadn't noticed the problem
in benchmarks earlier.

This commit also adds support for building Windows resources
into liblzma and executables.
2009-06-30 17:09:57 +03:00
..
Makefile.inc Build system fixes 2009-06-30 17:09:57 +03:00
price.h Put the interesting parts of XZ Utils into the public domain. 2009-04-13 11:27:40 +03:00
price_table.c Remove lzma_init() and other init functions from liblzma API. 2008-12-31 00:30:49 +02:00
price_tablegen.c Put the interesting parts of XZ Utils into the public domain. 2009-04-13 11:27:40 +03:00
range_common.h Put the interesting parts of XZ Utils into the public domain. 2009-04-13 11:27:40 +03:00
range_decoder.h Put the interesting parts of XZ Utils into the public domain. 2009-04-13 11:27:40 +03:00
range_encoder.h Put the interesting parts of XZ Utils into the public domain. 2009-04-13 11:27:40 +03:00