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

Reply via email to