xref: /dragonfly/lib/libzstd/Makefile (revision 5ebc8a7fe4ccb24d2d34586c9cbfe2bc2db1181b)
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