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
This commit is contained in:
Jessica Clarke 2023-07-11 01:53:04 +01:00
parent 565a343ae3
commit c70dd03a7f
2 changed files with 12 additions and 1 deletions

View File

@ -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

View File

@ -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