diff options
author | kevans <kevans@FreeBSD.org> | 2018-02-05 21:29:27 +0000 |
---|---|---|
committer | kevans <kevans@FreeBSD.org> | 2018-02-05 21:29:27 +0000 |
commit | 2bb841a515ba98762fb9fb88c97956319e5809a1 (patch) | |
tree | a5c6e7640c6001b8c0da1e87b7707d6c6944d450 | |
parent | 98e3b0400397c25820933045a37bf64f30bb2935 (diff) | |
download | FreeBSD-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-x | tools/boot/universe.sh | 65 |
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 |