Makefile.inc1: Make sure sub-makes see MK_CLANG_BOOTSTRAP=no when XCC is a path
Currently we override MK_CLANG_BOOTSTRAP to no so we don't build a
bootstrap compiler, but subdirectories don't see that and so the hack in
bsd.sys.mk to prefer our includes over Clang's resource dir for external
toolchains is not enabled unless you use -DWITHOUT_CLANG_BOOTSTRAP
explicitly on top of XCC (which tools/build/make.py does not do),
causing duplicate definition errors when building rtld-elf due to the
use of -ffreestanding (Clang's stdint.h will use the system one when
hosted, but its own when freestanding, and only has glibc's preprocessor
guards, not FreeBSD's).
This broke when dropping CLANG_BOOTSTRAP from BROKEN_OPTIONS.
Fixes: 31ba4ce889
("Allow bootstrapping llvm-tblgen on macOS and Linux")
MFC after: 1 week
Reviewed by: imp, arichardson
Differential Revision: https://reviews.freebsd.org/D31529
This commit is contained in:
parent
37296464de
commit
ab3a18095f
@ -93,6 +93,9 @@ X${COMPILER}?= ${${COMPILER}}
|
|||||||
# a cross compiler.
|
# a cross compiler.
|
||||||
.if ${XCC:N${CCACHE_BIN}:M/*}
|
.if ${XCC:N${CCACHE_BIN}:M/*}
|
||||||
MK_CLANG_BOOTSTRAP= no
|
MK_CLANG_BOOTSTRAP= no
|
||||||
|
# Make sure sub-makes see the option as disabled so the hack in bsd.sys.mk to
|
||||||
|
# work around incompatible headers in Clang's resource directory is enabled.
|
||||||
|
.MAKEOVERRIDES+= MK_CLANG_BOOTSTRAP
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
# Pull in compiler metadata from buildworld/toolchain if possible to avoid
|
# Pull in compiler metadata from buildworld/toolchain if possible to avoid
|
||||||
|
Loading…
Reference in New Issue
Block a user