summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkevans <kevans@FreeBSD.org>2018-02-05 21:29:27 +0000
committerkevans <kevans@FreeBSD.org>2018-02-05 21:29:27 +0000
commit2bb841a515ba98762fb9fb88c97956319e5809a1 (patch)
treea5c6e7640c6001b8c0da1e87b7707d6c6944d450
parent98e3b0400397c25820933045a37bf64f30bb2935 (diff)
downloadFreeBSD-src-2bb841a515ba98762fb9fb88c97956319e5809a1.zip
FreeBSD-src-2bb841a515ba98762fb9fb88c97956319e5809a1.tar.gz
MFC r342882,r324979,r325115: sys/boot test scripts
[Note: arm/armv7 has been removed in the interest of not having a failing architecture from the start] MFC r342882: Create a shell script to build sys/boot on all the architectures. MFC r324979: Do a chdir to SRCTOP/sys/boot before starting the run. MFC r325115: Fix parallel build issues and add MK_ZFS=no case
-rwxr-xr-xtools/boot/universe.sh65
1 files changed, 65 insertions, 0 deletions
diff --git a/tools/boot/universe.sh b/tools/boot/universe.sh
new file mode 100755
index 0000000..6429009
--- /dev/null
+++ b/tools/boot/universe.sh
@@ -0,0 +1,65 @@
+#!/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.
+#
+
+top=$(make -V SRCTOP)
+cd $top/sys/boot
+
+for i in \
+ amd64/amd64 \
+ arm/arm arm/armeb \
+ arm64/aarch64 \
+ i386/i386 \
+ mips/mips mips/mips64 \
+ powerpc/powerpc powerpc/powerpc64 \
+ sparc64/sparc64 \
+ ; do
+ ta=${i##*/}
+ echo -n "Building $ta..."
+ if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make clean cleandepend cleandir obj depend" \
+ > _.boot.${ta}.log 2>&1; then
+ echo "Fail (cleanup)"
+ continue
+ fi
+ if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make -j 20 all" \
+ >> _.boot.${ta}.log 2>&1; then
+ echo "Fail (build)"
+ continue
+ fi
+ echo "Success"
+done
+for i in \
+ amd64/amd64 \
+ i386/i386 \
+ ; do
+ ta=${i##*/}
+ echo -n "Building $ta MK_ZFS=no..."
+ if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make clean cleandepend cleandir obj depend" \
+ > _.boot.${ta}.noZFS.log 2>&1; then
+ echo "Fail (cleanup)"
+ continue
+ fi
+ if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make MK_ZFS=no -j 20 all" \
+ >> _.boot.${ta}.noZFS.log 2>&1; then
+ echo "Fail (build)"
+ continue
+ fi
+ echo "Success"
+done
OpenPOWER on IntegriCloud