libarchive: Clean up the build configuration

* Move settings duplicated in libarchive, bsdcat, bsdcpio, bsdtar, and
  bsdunzip into libarchive's Makefile.inc.

* Drop some CFLAGS that merely duplicated some of the contents of our
  platform configuration header.

MFC after:	1 week
Reviewed by:	mm
Differential Revision:	https://reviews.freebsd.org/D57307
This commit is contained in:
Dag-Erling Smørgrav
2026-06-04 15:12:23 +02:00
parent b3a8659f36
commit eb3a0a74a0
11 changed files with 63 additions and 86 deletions
+2 -5
View File
@@ -1,7 +1,8 @@
.include <src.opts.mk>
.include "Makefile.inc"
PACKAGE=lib${LIB}
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
LIB= archive
@@ -9,10 +10,6 @@ LIB= archive
# It has no real relation to the libarchive version number.
SHLIB_MAJOR= 7
CFLAGS+= -I${.OBJDIR}
CFLAGS+= -I${SRCTOP}/sys/contrib/zstd/lib
.include "Makefile.inc"
.if ${MACHINE_ARCH:Marm*} != "" || ${MACHINE_ARCH:Mpowerpc*} != ""
NO_WCAST_ALIGN= yes
.if ${MACHINE_ARCH:M*64*} == ""
+11 -5
View File
@@ -2,11 +2,17 @@
# them in sync we can get run-time crashes while running tests due to mismatches
# between structures such as archive_md5_ctx, etc.
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 -DHAVE_ZSTD_compressStream=1 \
-DHAVE_SYSCONF=1
CFLAGS+= -DPLATFORM_CONFIG_H=\"${.CURDIR}/config_freebsd.h\"
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
LIBARCHIVE_VERSION_ONLY_STRING!= \
sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \
${LIBARCHIVEDIR}/libarchive/archive.h
LIBADD+= z bz2 lzma bsdxml zstd
CFLAGS+= -DPLATFORM_CONFIG_H=\"config_freebsd.h\"
CFLAGS+= -I${SRCTOP}/lib/libarchive
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive_fe
CFLAGS+= -I${SRCTOP}/sys/contrib/zstd/lib
.if ${MK_OPENSSL} != "no"
CFLAGS+= -DWITH_OPENSSL
+4 -4
View File
@@ -1,11 +1,11 @@
.include <src.opts.mk>
.include "${SRCTOP}/lib/libarchive/Makefile.inc"
PACKAGE= tests
WARNS?= 3
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
ATF_TESTS_SH+= functional_test
TEST_METADATA.functional_test+= timeout="600"
@@ -14,8 +14,8 @@ BINDIR= ${TESTSDIR}
PROGS+= libarchive_test
CFLAGS+= -I${.CURDIR} -I${.CURDIR:H} -I${.OBJDIR}
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive -I${_LIBARCHIVEDIR}/libarchive/test
CFLAGS+= -I${.OBJDIR}
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive/test
CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils
CFLAGS+= -I${SRCTOP}/sys/contrib/zstd/lib
+6 -11
View File
@@ -1,11 +1,8 @@
.include <src.opts.mk>
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
_LIBARCHIVECONFDIR= ${SRCTOP}/lib/libarchive
.include "${SRCTOP}/lib/libarchive/Makefile.inc"
PROG= bsdcat
BSDCAT_VERSION_STRING!= sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \
${_LIBARCHIVEDIR}/libarchive/archive.h
.PATH: ${_LIBARCHIVEDIR}/cat
SRCS= bsdcat.c cmdline.c
@@ -13,15 +10,13 @@ SRCS= bsdcat.c cmdline.c
.PATH: ${_LIBARCHIVEDIR}/libarchive_fe
SRCS+= lafe_err.c
CFLAGS+= -DBSDCAT_VERSION_STRING=\"${BSDCAT_VERSION_STRING}\"
CFLAGS+= -DPLATFORM_CONFIG_H=\"${_LIBARCHIVECONFDIR}/config_freebsd.h\"
CFLAGS+= -I${_LIBARCHIVEDIR}/cat -I${_LIBARCHIVEDIR}/libarchive_fe
LIBADD= archive
.if ${MK_ICONV} != "no"
CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const
.endif
CFLAGS+= -DBSDCAT_VERSION_STRING=\"${LIBARCHIVE_VERSION_ONLY_STRING}\"
CFLAGS+= -I${_LIBARCHIVEDIR}/cat
#SYMLINKS=bsdcat ${BINDIR}/cat
#MLINKS= bsdcat.1 cat.1
HAS_TESTS=
SUBDIR.${MK_TESTS}+= tests
+7 -8
View File
@@ -1,6 +1,8 @@
PACKAGE= tests
.include <src.opts.mk>
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
.include "${SRCTOP}/lib/libarchive/Makefile.inc"
PACKAGE= tests
ATF_TESTS_SH+= functional_test
@@ -8,13 +10,10 @@ BINDIR= ${TESTSDIR}
PROGS+= bsdcat_test
CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\"
CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR}
CFLAGS+= -I${.OBJDIR}
CFLAGS+= -I${_LIBARCHIVEDIR}/cat -I${_LIBARCHIVEDIR}/cat/test
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive_fe -I${_LIBARCHIVEDIR}/test_utils
CFLAGS+= -I${_LIBARCHIVEDIR}/cat
CFLAGS+= -I${_LIBARCHIVEDIR}/cat/test
CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils
CFLAGS.test_utils.c+= -Wno-cast-align
+4 -12
View File
@@ -1,11 +1,8 @@
.include <src.opts.mk>
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
_LIBARCHIVECONFDIR= ${SRCTOP}/lib/libarchive
.include "${SRCTOP}/lib/libarchive/Makefile.inc"
PROG= bsdcpio
BSDCPIO_VERSION_STRING!= sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \
${_LIBARCHIVEDIR}/libarchive/archive.h
.PATH: ${_LIBARCHIVEDIR}/cpio
SRCS= cpio.c cmdline.c
@@ -13,17 +10,12 @@ SRCS= cpio.c cmdline.c
.PATH: ${_LIBARCHIVEDIR}/libarchive_fe
SRCS+= lafe_err.c line_reader.c passphrase.c
CFLAGS+= -DBSDCPIO_VERSION_STRING=\"${BSDCPIO_VERSION_STRING}\"
CFLAGS+= -DPLATFORM_CONFIG_H=\"${_LIBARCHIVECONFDIR}/config_freebsd.h\"
CFLAGS+= -I${_LIBARCHIVEDIR}/cpio -I${_LIBARCHIVEDIR}/libarchive_fe
LIBADD= archive
.if ${MK_ICONV} != "no"
CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const
.endif
CFLAGS+= -DBSDCPIO_VERSION_STRING=\"${LIBARCHIVE_VERSION_ONLY_STRING}\"
CFLAGS+= -I${_LIBARCHIVEDIR}/tar
SYMLINKS=bsdcpio ${BINDIR}/cpio
SYMLINKS= bsdcpio ${BINDIR}/cpio
MLINKS= bsdcpio.1 cpio.1
HAS_TESTS=
+7 -8
View File
@@ -1,6 +1,8 @@
PACKAGE= tests
.include <src.opts.mk>
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
.include "${SRCTOP}/lib/libarchive/Makefile.inc"
PACKAGE= tests
ATF_TESTS_SH+= functional_test
@@ -8,13 +10,10 @@ BINDIR= ${TESTSDIR}
PROGS+= bsdcpio_test
CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\"
CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR}
CFLAGS+= -I${.OBJDIR}
CFLAGS+= -I${_LIBARCHIVEDIR}/cpio -I${_LIBARCHIVEDIR}/cpio/test
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive_fe -I${_LIBARCHIVEDIR}/test_utils
CFLAGS+= -I${_LIBARCHIVEDIR}/cpio
CFLAGS+= -I${_LIBARCHIVEDIR}/cpio/test
CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils
# Uncomment to link against dmalloc
#LDADD+= -L/usr/local/lib -ldmalloc
+3 -10
View File
@@ -1,11 +1,9 @@
.include <src.opts.mk>
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
.include "${SRCTOP}/lib/libarchive/Makefile.inc"
PACKAGE= runtime
PROG= bsdtar
BSDTAR_VERSION_STRING!= sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \
${_LIBARCHIVEDIR}/libarchive/archive.h
.PATH: ${_LIBARCHIVEDIR}/tar
SRCS= bsdtar.c \
@@ -23,14 +21,9 @@ SRCS+= lafe_err.c \
LIBADD= archive
.if ${MK_ICONV} != "no"
CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const
.endif
CFLAGS+= -DBSDTAR_VERSION_STRING=\"${LIBARCHIVE_VERSION_ONLY_STRING}\"
CFLAGS+= -I${_LIBARCHIVEDIR}/tar
CFLAGS+= -DBSDTAR_VERSION_STRING=\"${BSDTAR_VERSION_STRING}\"
CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\"
CFLAGS+= -I${_LIBARCHIVEDIR}/tar -I${_LIBARCHIVEDIR}/libarchive
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive_fe
SYMLINKS= bsdtar ${BINDIR}/tar
MLINKS= bsdtar.1 tar.1
+7 -6
View File
@@ -1,17 +1,18 @@
.include <src.opts.mk>
.include "${SRCTOP}/lib/libarchive/Makefile.inc"
PACKAGE= tests
WARNS?= 3
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
ATF_TESTS_SH+= functional_test
BINDIR= ${TESTSDIR}
CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\"
CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR}
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive
CFLAGS+= -I${_LIBARCHIVEDIR}/tar -I${_LIBARCHIVEDIR}/tar/test
CFLAGS+= -I${.OBJDIR}
CFLAGS+= -I${_LIBARCHIVEDIR}/tar
CFLAGS+= -I${_LIBARCHIVEDIR}/tar/test
CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils
CFLAGS.test_utils.c+= -Wno-cast-align
+4 -10
View File
@@ -1,25 +1,20 @@
.include <src.opts.mk>
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
_LIBARCHIVECONFDIR= ${SRCTOP}/lib/libarchive
.include "${SRCTOP}/lib/libarchive/Makefile.inc"
PROG= bsdunzip
BSDUNZIP_VERSION_STRING!= sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \
${_LIBARCHIVEDIR}/libarchive/archive.h
.PATH: ${_LIBARCHIVEDIR}/unzip
SRCS= bsdunzip.c
.PATH: ${_LIBARCHIVEDIR}/libarchive_fe
SRCS+= cmdline.c lafe_err.c lafe_getline.c passphrase.c
CFLAGS+= -DBSDUNZIP_VERSION_STRING=\"${BSDUNZIP_VERSION_STRING}\"
CFLAGS+= -DPLATFORM_CONFIG_H=\"${_LIBARCHIVECONFDIR}/config_freebsd.h\"
CFLAGS+= -I${_LIBARCHIVEDIR}/unzip -I${_LIBARCHIVEDIR}/libarchive_fe
LIBADD= archive
CFLAGS+= -DBSDUNZIP_VERSION_STRING=\"${LIBARCHIVE_VERSION_ONLY_STRING}\"
CFLAGS+= -I${_LIBARCHIVEDIR}/unzip
SYMLINKS=bsdunzip ${BINDIR}/unzip
MLINKS= bsdunzip.1 unzip.1
@@ -27,4 +22,3 @@ HAS_TESTS=
SUBDIR.${MK_TESTS}+= tests
.include <bsd.prog.mk>
# DO NOT DELETE
+7 -6
View File
@@ -1,3 +1,7 @@
.include <src.opts.mk>
.include "${SRCTOP}/lib/libarchive/Makefile.inc"
PACKAGE= tests
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
@@ -8,13 +12,10 @@ BINDIR= ${TESTSDIR}
PROGS+= bsdunzip_test
CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\"
CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR}
CFLAGS+= -I${.OBJDIR}
CFLAGS+= -I${_LIBARCHIVEDIR}/unzip -I${_LIBARCHIVEDIR}/unzip/test
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive_fe -I${_LIBARCHIVEDIR}/test_utils
CFLAGS+= -I${_LIBARCHIVEDIR}/unzip
CFLAGS+= -I${_LIBARCHIVEDIR}/unzip/test
CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils
# Uncomment to link against dmalloc
#LDADD+= -L/usr/local/lib -ldmalloc