The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=eb3a0a74a069d0f294e1596504676459282bb308
commit eb3a0a74a069d0f294e1596504676459282bb308 Author: Dag-Erling Smørgrav <[email protected]> AuthorDate: 2026-06-04 13:12:23 +0000 Commit: Dag-Erling Smørgrav <[email protected]> CommitDate: 2026-06-04 13:12:23 +0000 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 --- lib/libarchive/Makefile | 7 ++----- lib/libarchive/Makefile.inc | 16 +++++++++++----- lib/libarchive/tests/Makefile | 8 ++++---- usr.bin/bsdcat/Makefile | 17 ++++++----------- usr.bin/bsdcat/tests/Makefile | 15 +++++++-------- usr.bin/cpio/Makefile | 18 +++++------------- usr.bin/cpio/tests/Makefile | 15 +++++++-------- usr.bin/tar/Makefile | 13 +++---------- usr.bin/tar/tests/Makefile | 13 +++++++------ usr.bin/unzip/Makefile | 14 ++++---------- usr.bin/unzip/tests/Makefile | 13 +++++++------ 11 files changed, 63 insertions(+), 86 deletions(-) diff --git a/lib/libarchive/Makefile b/lib/libarchive/Makefile index 4e32dcf72341..c4b4bc67ba33 100644 --- a/lib/libarchive/Makefile +++ b/lib/libarchive/Makefile @@ -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*} == "" diff --git a/lib/libarchive/Makefile.inc b/lib/libarchive/Makefile.inc index 755a39ec01e8..33ab0085367f 100644 --- a/lib/libarchive/Makefile.inc +++ b/lib/libarchive/Makefile.inc @@ -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 diff --git a/lib/libarchive/tests/Makefile b/lib/libarchive/tests/Makefile index 3a03725054f4..3210938bc117 100644 --- a/lib/libarchive/tests/Makefile +++ b/lib/libarchive/tests/Makefile @@ -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 diff --git a/usr.bin/bsdcat/Makefile b/usr.bin/bsdcat/Makefile index 06081fc2b2f8..3f51bfc753de 100644 --- a/usr.bin/bsdcat/Makefile +++ b/usr.bin/bsdcat/Makefile @@ -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 diff --git a/usr.bin/bsdcat/tests/Makefile b/usr.bin/bsdcat/tests/Makefile index c323da34e080..f75ebeac2aea 100644 --- a/usr.bin/bsdcat/tests/Makefile +++ b/usr.bin/bsdcat/tests/Makefile @@ -1,6 +1,8 @@ -PACKAGE= tests +.include <src.opts.mk> + +.include "${SRCTOP}/lib/libarchive/Makefile.inc" -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive +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 diff --git a/usr.bin/cpio/Makefile b/usr.bin/cpio/Makefile index 31b25e4199da..edc2ddf2bcb6 100644 --- a/usr.bin/cpio/Makefile +++ b/usr.bin/cpio/Makefile @@ -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,18 +10,13 @@ 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 -MLINKS= bsdcpio.1 cpio.1 +SYMLINKS= bsdcpio ${BINDIR}/cpio +MLINKS= bsdcpio.1 cpio.1 HAS_TESTS= SUBDIR.${MK_TESTS}+= tests diff --git a/usr.bin/cpio/tests/Makefile b/usr.bin/cpio/tests/Makefile index ee4da15bc7e4..0db109c1e379 100644 --- a/usr.bin/cpio/tests/Makefile +++ b/usr.bin/cpio/tests/Makefile @@ -1,6 +1,8 @@ -PACKAGE= tests +.include <src.opts.mk> + +.include "${SRCTOP}/lib/libarchive/Makefile.inc" -_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive +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 diff --git a/usr.bin/tar/Makefile b/usr.bin/tar/Makefile index 8b0d3e4a6cf0..0452e084bee2 100644 --- a/usr.bin/tar/Makefile +++ b/usr.bin/tar/Makefile @@ -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 diff --git a/usr.bin/tar/tests/Makefile b/usr.bin/tar/tests/Makefile index 116425b0621f..45db3abf7bc2 100644 --- a/usr.bin/tar/tests/Makefile +++ b/usr.bin/tar/tests/Makefile @@ -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 diff --git a/usr.bin/unzip/Makefile b/usr.bin/unzip/Makefile index 3ca95e5fa881..35d82729b718 100644 --- a/usr.bin/unzip/Makefile +++ b/usr.bin/unzip/Makefile @@ -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 diff --git a/usr.bin/unzip/tests/Makefile b/usr.bin/unzip/tests/Makefile index fada172b1bd7..0e55c49d07b5 100644 --- a/usr.bin/unzip/tests/Makefile +++ b/usr.bin/unzip/tests/Makefile @@ -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
