Fix build with WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG

When WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG are both set, the
cross-tools stage does not build a cross clang binary. This is because
the Makefile in usr.bin/clang checks for WITHOUT_CLANG, and skips
building the binary.

To fix this, ensure that WITH_CLANG is set for the cross-tools phase
whenever WITH_CLANG_BOOTSTRAP is set. While here, skip using the
Makefile in usr.bin/clang, and directly use the Makefile in
usr.bin/clang/clang instead.

PR:		286154
Reported by:	avg
Reviewed by:	avg, emaste
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D49886
This commit is contained in:
Dimitry Andric 2025-04-18 12:55:36 +02:00
parent d8b03c5904
commit ea231471d0

View file

@ -817,6 +817,7 @@ TMAKE= \
# TOOLS_PREFIX set in BMAKE
XMAKE= ${BMAKE} \
TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
MK_CLANG=${MK_CLANG_BOOTSTRAP} \
MK_LLDB=no \
MK_LLVM_BINUTILS=no \
MK_TESTS=no
@ -2930,7 +2931,7 @@ _elftctools+= usr.bin/addr2line
.endif
.if ${MK_CLANG_BOOTSTRAP} != "no"
_clang= usr.bin/clang
_clang= usr.bin/clang/clang
.endif
.if ${MK_LLD_BOOTSTRAP} != "no"
_lld= usr.bin/clang/lld