From c70dd03a7ff649f832f1d29179b9094720392bce Mon Sep 17 00:00:00 2001 From: Jessica Clarke Date: Tue, 11 Jul 2023 01:53:04 +0100 Subject: [PATCH] Make sure MACHINE(_ARCH) are exported for depend-cleanup.sh We run depend-cleanup.sh twice during the build. The second time is the normal run, where we run it under WMAKEENV and thus have CROSSENV's MACHINE(_ARCH)=${TARGET(_ARCH)} in the environment. However, the first time is for bootstrap-tools, where it's run under BMAKEENV and we don't have any assignments to MACHINE(_ARCH) in the environment, meaning the script sees them as unset. In practice this doesn't matter since the only use doesn't apply to bootstrap-tools, but it could be a future issue. Thus, explicitly export them for depend-cleanup.sh and have the script verify they're set. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D40968 --- Makefile.inc1 | 3 ++- tools/build/depend-cleanup.sh | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 6db68b627d96..1e992b05c859 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1016,7 +1016,8 @@ _sanity_check: .PHONY .MAKE # replacing generated files. Handle these cases here in an ad-hoc fashion. _cleanobj_fast_depend_hack: .PHONY @echo ">>> Deleting stale dependencies..."; - sh ${.CURDIR}/tools/build/depend-cleanup.sh ${OBJTOP} + MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH} \ + sh ${.CURDIR}/tools/build/depend-cleanup.sh ${OBJTOP} _worldtmp: .PHONY @echo diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 743da3361cf5..ce962cc1eb86 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -23,6 +23,16 @@ if [ ! -d "$OBJTOP" ]; then exit 1 fi +if [ -z "${MACHINE+set}" ]; then + echo "$(basename "$0"): MACHINE not set" >&2 + exit 1 +fi + +if [ -z "${MACHINE_ARCH+set}" ]; then + echo "$(basename "$0"): MACHINE_ARCH not set" >&2 + exit 1 +fi + # $1 directory # $2 source filename w/o extension # $3 source extension