freebsd-dev/lib/libzstd/Makefile
Conrad Meyer 4d3f1eafc9 Update to Zstandard 1.4.2
The full release notes for 1.4.1 (skipped) and 1.4.2 can be found on Github:

  https://github.com/facebook/zstd/releases/tag/v1.4.1
  https://github.com/facebook/zstd/releases/tag/v1.4.2

These are mostly minor updates; 1.4.1 purportedly brings something like 7%
faster decompression speed.

Relnotes:	yes
2019-08-08 16:54:22 +00:00

74 lines
1.8 KiB
Makefile

# $FreeBSD$
LIB= zstd
SRCS= entropy_common.c \
error_private.c \
fse_decompress.c \
pool.c \
threading.c \
xxhash.c \
zstd_common.c \
fse_compress.c \
huf_compress.c \
zstd_compress.c \
zstd_compress_literals.c \
zstd_compress_sequences.c \
zstdmt_compress.c \
huf_decompress.c \
zstd_ddict.c \
zstd_decompress.c \
zstd_decompress_block.c \
zbuff_common.c \
zbuff_compress.c \
zbuff_decompress.c \
cover.c \
divsufsort.c \
zdict.c \
zstd_fast.c \
zstd_lazy.c \
zstd_ldm.c \
zstd_opt.c \
zstd_double_fast.c \
debug.c \
hist.c \
fastcover.c
WARNS= 2
INCS= zstd.h
CFLAGS+= -I${ZSTDDIR}/lib -I${ZSTDDIR}/lib/common -DXXH_NAMESPACE=ZSTD_ \
-DZSTD_MULTITHREAD=1
LIBADD= pthread
PRIVATELIB= yes
ZSTDDIR= ${SRCTOP}/sys/contrib/zstd
.PATH: ${ZSTDDIR}/lib/common ${ZSTDDIR}/lib/compress \
${ZSTDDIR}/lib/decompress ${ZSTDDIR}/lib/deprecated \
${ZSTDDIR}/lib/dictBuilder ${ZSTDDIR}/lib
.include <bsd.compiler.mk>
# https://github.com/facebook/zstd/commit/812e8f2a [zstd 1.4.1]
# "Note that [GCC] autovectorization still does not do a good job on the
# optimized version, so it's turned off via attribute and flag. I found
# that neither attribute nor command-line flag were entirely successful in
# turning off vectorization, which is why there were both."
.if ${COMPILER_TYPE} == "gcc"
CFLAGS.zstd_decompress_block.c+= -fno-tree-vectorize
.endif
# Work around for LLVM bug 35023, https://bugs.llvm.org/show_bug.cgi?id=35023
# Fixed in https://reviews.llvm.org/rL349935 ; not sure if we have that version
# in our LLVM or not yet.
.if ${MACHINE_ARCH:Marm*} != ""
CFLAGS.zstd_compress.c+= -O0
.endif
# Work around lack of __bswap[sd]i2() intrinsics on riscv. Probably should be
# added to one of the runtime C libraries instead.
.if ${MACHINE_CPUARCH} == "riscv"
.PATH: ${ZSTDDIR}/lib/freebsd
SRCS+= zstd_kfreebsd.c
.endif
.include <bsd.lib.mk>