summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2015-04-16 22:35:19 +0000
committeremaste <emaste@FreeBSD.org>2015-04-16 22:35:19 +0000
commit01e375543f2cca888435d33af45404f00296ca0c (patch)
treedbe09db278a372e2a5a180e09d4ac7bc5a703a9d
parentb4d8a8d1f73c47bc9d5c91a9eef7413e311478f5 (diff)
downloadFreeBSD-src-01e375543f2cca888435d33af45404f00296ca0c.zip
FreeBSD-src-01e375543f2cca888435d33af45404f00296ca0c.tar.gz
Add arm64 to universe if binutils is available.
arm64 relies on an external binutils port or package right now, because the in-tree linker from binutils 2.17.50 does not support arm64. Add arm64 to universe if the linker is available. If not output a message that arm64 is skipped. buildworld and buildkernel use the external binutils automatically, so it's sufficient to run 'pkg install aarch64-binutils' to build FreeBSD/arm64. Differential Revision: https://reviews.freebsd.org/D2302 Reviewed by: andrew, imp Sponsored by: The FreeBSD Foundation
-rw-r--r--Makefile11
1 files changed, 11 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 56616ec..c82880a 100644
--- a/Makefile
+++ b/Makefile
@@ -374,6 +374,17 @@ kernel-toolchains:
#
.if make(universe) || make(universe_kernels) || make(tinderbox) || make(targets)
TARGETS?=amd64 arm i386 mips pc98 powerpc sparc64
+# XXX Add arm64 to universe only if we have an external binutils installed.
+# It does not build with the in-tree linnker.
+.if exists(/usr/local/aarch64-freebsd/bin/ld)
+TARGETS+=arm64
+TARGET_ARCHES_arm64?= aarch64
+.else
+universe: universe_arm64_skip
+universe_epilogue: universe_arm64_skip
+universe_arm64_skip: universe_prologue
+ @echo ">> arm64 skipped - install aarch64-binutils port or package to build"
+.endif
TARGET_ARCHES_arm?= arm armeb armv6 armv6hf
TARGET_ARCHES_mips?= mipsel mips mips64el mips64 mipsn32
TARGET_ARCHES_powerpc?= powerpc powerpc64
OpenPOWER on IntegriCloud