genericize target exclusion for missing external toolchain
Previously we excluded riscv from make universe / tinderbox if the required xtoolchain package was not installed. Make that logic generic so that we can loop over multiple architectures, in preparation to test patches to have other architectures rely on external toolchain. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D11652
This commit is contained in:
parent
9a3083660d
commit
6d2909f6a0
22
Makefile
22
Makefile
@ -441,14 +441,22 @@ TARGET_ARCHES_${target}?= ${target}
|
||||
|
||||
MAKE_PARAMS_riscv?= CROSS_TOOLCHAIN=riscv64-gcc
|
||||
|
||||
# XXX Remove riscv from universe if the required toolchain package is missing.
|
||||
.if !exists(/usr/local/share/toolchains/riscv64-gcc.mk) && ${TARGETS:Mriscv}
|
||||
_UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:Nriscv}
|
||||
universe: universe_riscv_skip .PHONY
|
||||
universe_epilogue: universe_riscv_skip .PHONY
|
||||
universe_riscv_skip: universe_prologue .PHONY
|
||||
@echo ">> riscv skipped - install riscv64-xtoolchain-gcc port or package to build"
|
||||
# XXX Remove architectures only supported by external toolchain from universe
|
||||
# if required toolchain packages are missing.
|
||||
TOOLCHAINS_riscv= riscv64
|
||||
.for target in riscv
|
||||
.if ${_UNIVERSE_TARGETS:M${target}}
|
||||
.for toolchain in ${TOOLCHAINS_${target}}
|
||||
.if !exists(/usr/local/share/toolchains/${toolchain}-gcc.mk)
|
||||
_UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:N${target}}
|
||||
universe: universe_${toolchain}_skip .PHONY
|
||||
universe_epilogue: universe_${toolchain}_skip .PHONY
|
||||
universe_${toolchain}_skip: universe_prologue .PHONY
|
||||
@echo ">> ${target} skipped - install ${toolchain}-xtoolchain-gcc port or package to build"
|
||||
.endif
|
||||
.endfor
|
||||
.endif
|
||||
.endfor
|
||||
|
||||
.if defined(UNIVERSE_TARGET)
|
||||
MAKE_JUST_WORLDS= YES
|
||||
|
Loading…
Reference in New Issue
Block a user