opnsense-src/lib/liblzma/Makefile
Brooks Davis e0f6b29f6a lib{c,lzma,z}: remove -DSYMBOL_VERSIONING from CFLAGS
This was part of a libkse and libpthread transition aide when libc
gained symbol versions in e62165c8b0
(March 2006).  The code that cared about this macro was removed in
commit 00fb440c1a (May 2007) when symbol
versioning was enabled by default and libthr became the default
threading library.  For unknown reasons, it stayed in libc (which
seemingly never used it) and seems to have been copied to liblzma and
libz.

Reviewed by:	imp, kib, emaste
Differential Revision:	https://reviews.freebsd.org/D42613

(cherry picked from commit e3e9c205ff54aac287309e03a808d9e9ec5c49eb)
2023-12-13 22:08:13 +00:00

176 lines
3.5 KiB
Makefile

PACKAGE=lib${LIB}
LIB= lzma
LZMADIR= ${SRCTOP}/contrib/xz/src/liblzma
.PATH: ${LZMADIR:H}/common
SRCS+= tuklib_physmem.c tuklib_cpucores.c
.PATH: ${LZMADIR}/api/lzma
MAININCS= ../lzma.h
MAININCSDIR= ${INCLUDEDIR}
LZMAINCS+= base.h \
bcj.h \
block.h \
check.h \
container.h \
delta.h \
filter.h \
hardware.h \
index.h \
index_hash.h \
lzma12.h \
stream_flags.h \
version.h \
vli.h
LZMAINCSDIR= ${INCLUDEDIR}/lzma
INCSGROUPS= MAININCS LZMAINCS
.PATH: ${LZMADIR}/common
SRCS+= common.c \
block_util.c \
easy_preset.c \
filter_common.c \
hardware_physmem.c \
hardware_cputhreads.c \
index.c \
stream_flags_common.c \
string_conversion.c \
vli_size.c \
alone_encoder.c \
block_buffer_encoder.c \
block_encoder.c \
block_header_encoder.c \
easy_buffer_encoder.c \
easy_encoder.c \
easy_encoder_memusage.c \
filter_buffer_encoder.c \
filter_encoder.c \
filter_flags_encoder.c \
index_encoder.c \
lzip_decoder.c \
microlzma_encoder.c \
microlzma_decoder.c \
stream_buffer_encoder.c \
stream_encoder.c \
stream_flags_encoder.c \
vli_encoder.c \
alone_decoder.c \
auto_decoder.c \
block_buffer_decoder.c \
block_decoder.c \
block_header_decoder.c \
easy_decoder_memusage.c \
file_info.c \
filter_buffer_decoder.c \
filter_decoder.c \
filter_flags_decoder.c \
index_decoder.c \
index_hash.c \
stream_buffer_decoder.c \
stream_decoder.c \
stream_decoder_mt.c \
stream_flags_decoder.c \
stream_encoder_mt.c \
vli_decoder.c \
outqueue.c
.PATH: ${LZMADIR}/check
SRCS+= check.c \
crc32_table.c \
crc64_table.c
.if defined(MACHINE_ARCH) && ${MACHINE_ARCH} == "i386"
SRCS+= crc32_x86.S \
crc64_x86.S
ACFLAGS+= -Wa,--noexecstack
.else
SRCS+= crc32_fast.c \
crc64_fast.c
.endif
.PATH: ${LZMADIR}/lz
SRCS+= lz_encoder.c \
lz_encoder_mf.c \
lz_decoder.c
.PATH: ${LZMADIR}/lzma
SRCS+= lzma_encoder.c \
lzma_encoder_presets.c \
lzma_encoder_optimum_fast.c \
lzma_encoder_optimum_normal.c \
fastpos_table.c \
lzma_decoder.c \
lzma2_encoder.c \
lzma2_decoder.c
.PATH: ${LZMADIR}/rangecoder
SRCS+= price_table.c
.PATH: ${LZMADIR}/delta
SRCS+= delta_common.c \
delta_encoder.c \
delta_decoder.c
.PATH: ${LZMADIR}/simple
SRCS+= simple_coder.c \
simple_encoder.c \
simple_decoder.c \
x86.c \
powerpc.c \
ia64.c \
arm.c \
arm64.c \
armthumb.c \
sparc.c
.PATH: ${LZMADIR}
VERSION_MAJOR!= sed -n '/define.*LZMA_VERSION_MAJOR/{s,[^0-9.],,gp;q;}' \
${LZMADIR}/api/lzma/version.h
VERSION_MINOR!= sed -n '/define.*LZMA_VERSION_MINOR/{s,[^0-9.],,gp;q;}' \
${LZMADIR}/api/lzma/version.h
VERSION_PATCH!= sed -n '/define.*LZMA_VERSION_PATCH/{s,[^0-9.],,gp;q;}' \
${LZMADIR}/api/lzma/version.h
WARNS?= 3
CFLAGS+= -DHAVE_CONFIG_H \
-DTUKLIB_SYMBOL_PREFIX=lzma_ \
-I${.CURDIR} \
-I${LZMADIR}/api \
-I${LZMADIR}/common \
-I${LZMADIR}/check \
-I${LZMADIR}/lz \
-I${LZMADIR}/rangecoder \
-I${LZMADIR}/lzma \
-I${LZMADIR}/delta \
-I${LZMADIR}/simple \
-I${LZMADIR:H}/common
LIBADD+= md pthread
VERSION_DEF= ${.CURDIR}/Versions.def
SYMBOL_MAPS= ${.CURDIR}/Symbol.map
CLEANFILES+= liblzma.pc
PCFILES= liblzma.pc
liblzma.pc: liblzma.pc.in
sed -e 's,@prefix@,/usr,g ; \
s,@exec_prefix@,/usr,g ; \
s,@libdir@,${LIBDIR},g ; \
s,@sharedlibdir@,${SHLIBDIR},g ; \
s,@includedir@,${INCLUDEDIR},g ; \
s,@LIBS@,-pthread -lmd,g ; \
s,@PACKAGE_URL@,https://tukaani.org/xz/,g ; \
s,@PACKAGE_VERSION@,${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH},g ; \
s,@PTHREAD_CFLAGS@,,g ; \
s,@PTHREAD_LIBS@,,g' ${.ALLSRC} > ${.TARGET}
.include <bsd.lib.mk>