]> xenbits.xensource.com Git - freebsd.git/commitdiff
Add native support for zstd to libarchive
authorbapt <bapt@FreeBSD.org>
Wed, 18 Sep 2019 07:57:56 +0000 (07:57 +0000)
committerbapt <bapt@FreeBSD.org>
Wed, 18 Sep 2019 07:57:56 +0000 (07:57 +0000)
Note that old pkg will failed to build after this. A recent ports tree (one
providing pkg 1.12+) is required to build. Older already built pkg, should
continue working as expected

PR: 238797
Exp run by: antoine
Reviewed by: cem
Approved by: cem
Differential Revision: https://reviews.freebsd.org/D20752

Makefile.inc1
lib/Makefile
lib/libarchive/Makefile

index 52af7f143520f57f9c5cb4ab90b42532422db71e..c5c3db8318e9d69a410c0b499d74141c2c975030 100644 (file)
@@ -2770,6 +2770,7 @@ _prebuild_libs=   ${_kerberos5_lib_libasn1} \
                lib/libfigpar \
                ${_lib_libgssapi} \
                lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \
+               lib/libzstd \
                ${_lib_casper} \
                lib/ncurses/ncurses lib/ncurses/ncursesw \
                lib/libopie lib/libpam/libpam ${_lib_libthr} \
index 33f31f7f7ed6b6dbbee383e747f8693c3a8a59dc..d5ee01327e8cf836bf43562e2c0ebc234c66fa05 100644 (file)
@@ -102,7 +102,7 @@ SUBDIR=     ${SUBDIR_BOOTSTRAP} \
 # libraries, those libraries should be listed as build order dependencies here.
 
 SUBDIR_DEPEND_geom=    libufs
-SUBDIR_DEPEND_libarchive= libz libbz2 libexpat liblzma libmd
+SUBDIR_DEPEND_libarchive= libz libbz2 libexpat liblzma libmd libzstd
 SUBDIR_DEPEND_libauditdm= libbsm
 SUBDIR_DEPEND_libbsnmp= ${_libnetgraph}
 SUBDIR_DEPEND_libc++:= libcxxrt
index 5c44669f6f85cc9e7c145720ab6c846deb61913a..474a91f7dda118c26e493e4afa00790f447a773f 100644 (file)
@@ -6,8 +6,8 @@ _LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
 
 LIB=   archive
 
-LIBADD=        z bz2 lzma bsdxml
-CFLAGS+= -DHAVE_BZLIB_H=1 -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1
+LIBADD=        z bz2 lzma bsdxml zstd
+CFLAGS+= -DHAVE_BZLIB_H=1 -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1 -DHAVE_ZSTD_H=1 -DHAVE_LIBZSTD=1
 
 # FreeBSD SHLIB_MAJOR value is managed as part of the FreeBSD system.
 # It has no real relation to the libarchive version number.
@@ -15,6 +15,7 @@ SHLIB_MAJOR= 7
 
 CFLAGS+=       -DPLATFORM_CONFIG_H=\"${.CURDIR}/config_freebsd.h\"
 CFLAGS+=       -I${.OBJDIR}
+CFLAGS+=       -I${SRCTOP}/sys/contrib/zstd/lib
 
 .if ${MK_OPENSSL} != "no"
 CFLAGS+=       -DWITH_OPENSSL