Build system fixes
authorLasse Collin <lasse.collin@tukaani.org>
Tue, 30 Jun 2009 14:09:57 +0000 (17:09 +0300)
committerLasse Collin <lasse.collin@tukaani.org>
Tue, 30 Jun 2009 14:09:57 +0000 (17:09 +0300)
commitf42ee981668b545ab6d06c6072e262c29605273c
tree3c629000a91b0b0dccf11bacdd1878cea508be73
parent89dac1db6f168d7469cfbc4432651d4724c5c0de
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.
21 files changed:
configure.ac
src/liblzma/Makefile.am
src/liblzma/check/Makefile.am [deleted file]
src/liblzma/check/Makefile.inc [new file with mode: 0644]
src/liblzma/common/Makefile.am [deleted file]
src/liblzma/common/Makefile.inc [new file with mode: 0644]
src/liblzma/common/common.h
src/liblzma/delta/Makefile.am [deleted file]
src/liblzma/delta/Makefile.inc [new file with mode: 0644]
src/liblzma/lz/Makefile.am [deleted file]
src/liblzma/lz/Makefile.inc [new file with mode: 0644]
src/liblzma/lzma/Makefile.am [deleted file]
src/liblzma/lzma/Makefile.inc [new file with mode: 0644]
src/liblzma/rangecoder/Makefile.am [deleted file]
src/liblzma/rangecoder/Makefile.inc [new file with mode: 0644]
src/liblzma/simple/Makefile.am [deleted file]
src/liblzma/simple/Makefile.inc [new file with mode: 0644]
src/liblzma/subblock/Makefile.am [deleted file]
src/liblzma/subblock/Makefile.inc [new file with mode: 0644]
src/xz/Makefile.am
src/xzdec/Makefile.am