xref: /dragonfly/lib/libzstd/Makefile (revision c8860c9a)
1# $FreeBSD$
2
3LIB=		private_zstd
4SHLIBDIR?=	/lib
5WARNS?=		4
6PRIVATELIB=
7
8SRCS=	entropy_common.c \
9	error_private.c \
10	fse_decompress.c \
11	pool.c \
12	threading.c \
13	xxhash.c \
14	zstd_common.c \
15	fse_compress.c \
16	huf_compress.c \
17	zstd_compress.c \
18	zstd_compress_literals.c \
19	zstd_compress_sequences.c \
20	zstd_compress_superblock.c \
21	zstdmt_compress.c \
22	huf_decompress.c \
23	zstd_ddict.c \
24	zstd_decompress.c \
25	zstd_decompress_block.c \
26	zbuff_common.c \
27	zbuff_compress.c \
28	zbuff_decompress.c \
29	cover.c \
30	divsufsort.c \
31	zdict.c \
32	zstd_fast.c \
33	zstd_lazy.c \
34	zstd_ldm.c \
35	zstd_opt.c \
36	zstd_double_fast.c \
37	debug.c \
38	hist.c \
39	fastcover.c
40
41INCS=		zstd.h
42INCSDIR=	${INCLUDEDIR}/priv/zstd
43
44CFLAGS+=	-I${ZSTDDIR}/lib -I${ZSTDDIR}/lib/common -DXXH_NAMESPACE=ZSTD_ \
45		-fvisibility=hidden
46
47ZSTDDIR=	${.CURDIR}/../../contrib/zstd
48.PATH:	${ZSTDDIR}/lib/common ${ZSTDDIR}/lib/compress \
49	${ZSTDDIR}/lib/decompress ${ZSTDDIR}/lib/deprecated \
50	${ZSTDDIR}/lib/dictBuilder ${ZSTDDIR}/lib
51
52VERSION_DEF=	${.CURDIR}/Versions.def
53SYMBOL_MAPS=	${.CURDIR}/Symbol.map
54#FILES=		zlib.pc
55#FILESDIR=	${LIBDATADIR}/pkgconfig
56
57# https://github.com/facebook/zstd/commit/812e8f2a [zstd 1.4.1]
58# "Note that [GCC] autovectorization still does not do a good job on the
59# optimized version, so it's turned off via attribute and flag.  I found
60# that neither attribute nor command-line flag were entirely successful in
61# turning off vectorization, which is why there were both."
62.if (${CCVER:Mgcc*})
63FLAGS_GROUPS=	autovec
64autovec_FLAGS=	-fno-tree-vectorize
65autovec_FLAGS_FILES=zstd_decompress_block.c
66.endif
67
68.include <bsd.lib.mk>
69