svn commit: r321616 - head

Ed Maste emaste at FreeBSD.org
Thu Jul 27 12:29:32 UTC 2017


Author: emaste
Date: Thu Jul 27 12:29:31 2017
New Revision: 321616
URL: https://svnweb.freebsd.org/changeset/base/321616

Log:
  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

Modified:
  head/Makefile

Modified: head/Makefile
==============================================================================
--- head/Makefile	Thu Jul 27 10:52:36 2017	(r321615)
+++ head/Makefile	Thu Jul 27 12:29:31 2017	(r321616)
@@ -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


More information about the svn-src-all mailing list