1
0
mirror of https://git.tukaani.org/xz.git synced 2025-02-23 17:08:13 +00:00
xz/src/liblzma/common/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

68 lines
1.6 KiB
Makefile

##
## Author: Lasse Collin
##
## This file has been put into the public domain.
## You can do whatever you want with this file.
##
liblzma_la_SOURCES += \
common/common.c \
common/common.h \
common/bsr.h \
common/block_util.c \
common/easy_preset.c \
common/easy_preset.h \
common/filter_common.c \
common/filter_common.h \
common/index.c \
common/index.h \
common/stream_flags_common.c \
common/stream_flags_common.h \
common/vli_size.c
if COND_MAIN_ENCODER
liblzma_la_SOURCES += \
common/alone_encoder.c \
common/block_buffer_encoder.c \
common/block_encoder.c \
common/block_encoder.h \
common/block_header_encoder.c \
common/easy_buffer_encoder.c \
common/easy_encoder.c \
common/easy_encoder_memusage.c \
common/filter_buffer_encoder.c \
common/filter_encoder.c \
common/filter_encoder.h \
common/filter_flags_encoder.c \
common/index_encoder.c \
common/index_encoder.h \
common/stream_buffer_encoder.c \
common/stream_encoder.c \
common/stream_encoder.h \
common/stream_flags_encoder.c \
common/vli_encoder.c
endif
if COND_MAIN_DECODER
liblzma_la_SOURCES += \
common/alone_decoder.c \
common/alone_decoder.h \
common/auto_decoder.c \
common/block_buffer_decoder.c \
common/block_decoder.c \
common/block_decoder.h \
common/block_header_decoder.c \
common/easy_decoder_memusage.c \
common/filter_buffer_decoder.c \
common/filter_decoder.c \
common/filter_decoder.h \
common/filter_flags_decoder.c \
common/index_decoder.c \
common/index_hash.c \
common/stream_buffer_decoder.c \
common/stream_decoder.c \
common/stream_decoder.h \
common/stream_flags_decoder.c \
common/vli_decoder.c
endif