1
0
mirror of https://git.tukaani.org/xz.git synced 2026-04-01 21:58:02 +00:00
xz/src/liblzma/lzma/Makefile.inc
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

44 lines
823 B
Makefile

##
## Author: Lasse Collin
##
## This file has been put into the public domain.
## You can do whatever you want with this file.
##
EXTRA_DIST += lzma/fastpos_tablegen.c
liblzma_la_SOURCES += lzma/lzma_common.h
if COND_ENCODER_LZMA1
liblzma_la_SOURCES += \
lzma/fastpos.h \
lzma/lzma_encoder.h \
lzma/lzma_encoder.c \
lzma/lzma_encoder_presets.c \
lzma/lzma_encoder_private.h \
lzma/lzma_encoder_optimum_fast.c \
lzma/lzma_encoder_optimum_normal.c
if !COND_SMALL
liblzma_la_SOURCES += lzma/fastpos_table.c
endif
endif
if COND_DECODER_LZMA1
liblzma_la_SOURCES += \
lzma/lzma_decoder.c \
lzma/lzma_decoder.h
endif
if COND_ENCODER_LZMA2
liblzma_la_SOURCES += \
lzma/lzma2_encoder.c \
lzma/lzma2_encoder.h
endif
if COND_DECODER_LZMA2
liblzma_la_SOURCES += \
lzma/lzma2_decoder.c \
lzma/lzma2_decoder.h
endif