aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2017-10-22 22:52:23 +0000
committerWarner Losh <imp@FreeBSD.org>2017-10-22 22:52:23 +0000
commitc02a64d8beae07b66e42ea0d2e303ce411f006a0 (patch)
treebe4f71fb92a525577cc21968e77f55f3025bafae /tools
parent404a0a2f4047e942a3050d53fc1b5d65d07ed8ca (diff)
downloadsrc-c02a64d8beae07b66e42ea0d2e303ce411f006a0.tar.gz
src-c02a64d8beae07b66e42ea0d2e303ce411f006a0.zip
Create a shell script to build sys/boot on all the architectures.
One could run this from any directory, but it's designed to do regression testing on sys/boot (it only tests on a subset of architectures since all of them would take a lot longer and not help). This will also ensure that future commits to sys/boot compile everywhere. Sponsored by: Netflix
Notes
Notes: svn path=/head/; revision=324882
Diffstat (limited to 'tools')
-rwxr-xr-xtools/boot/universe.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/tools/boot/universe.sh b/tools/boot/universe.sh
new file mode 100755
index 000000000000..ee779a38ae5b
--- /dev/null
+++ b/tools/boot/universe.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# $FreeBSD$
+
+#
+# Full list of all arches, but we only build a subset. All different mips add any
+# value, and there's a few others we just don't support.
+#
+# mips/mipsel mips/mips mips/mips64el mips/mips64 mips/mipsn32 \
+# mips/mipselhf mips/mipshf mips/mips64elhf mips/mips64hf \
+# powerpc/powerpc powerpc/powerpc64 powerpc/powerpcspe \
+# riscv/riscv64 riscv/riscv64sf
+#
+# This script is expected to be run in sys/boot (though you could run it anywhere
+# in the tree). It does a full clean build. For sys/boot you can do all the archs in
+# about a minute or two on a fast machine. It's also possible that you need a full
+# make universe for this to work completely.
+#
+# Output is put into _.boot.$TARGET_ARCH.log in sys.boot.
+#
+
+for i in \
+ amd64/amd64 \
+ arm/arm arm/armeb arm/armv7 \
+ arm64/aarch64 \
+ i386/i386 \
+ mips/mips mips/mips64 \
+ powerpc/powerpc powerpc/powerpc64 \
+ sparc64/sparc64 \
+ ; do
+ ta=${i##*/}
+ echo -n "Building $ta..."
+ ( ( make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make -j 20 clean cleandepend cleandir obj depend all" \
+ > _.boot.${ta}.log 2>&1 ) && echo Success ) || echo Fail
+done
+
+
+