]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tools/boot/universe.sh
MFV r325605: 8713 Buffer overflow in dsl_dataset_name()
[FreeBSD/FreeBSD.git] / tools / boot / universe.sh
1 #!/bin/sh
2
3 # $FreeBSD$
4
5 #
6 # Full list of all arches, but we only build a subset. All different mips add any
7 # value, and there's a few others we just don't support.
8 #
9 #       mips/mipsel mips/mips mips/mips64el mips/mips64 mips/mipsn32 \
10 #       mips/mipselhf mips/mipshf mips/mips64elhf mips/mips64hf \
11 #       powerpc/powerpc powerpc/powerpc64 powerpc/powerpcspe \
12 #       riscv/riscv64 riscv/riscv64sf
13 #
14 # This script is expected to be run in sys/boot (though you could run it anywhere
15 # in the tree). It does a full clean build. For sys/boot you can do all the archs in
16 # about a minute or two on a fast machine. It's also possible that you need a full
17 # make universe for this to work completely.
18 #
19 # Output is put into _.boot.$TARGET_ARCH.log in sys.boot.
20 #
21
22 top=$(make -V SRCTOP)
23 cd $top/sys/boot
24
25 for i in \
26         amd64/amd64 \
27         arm/arm arm/armeb arm/armv7 \
28         arm64/aarch64 \
29         i386/i386 \
30         mips/mips mips/mips64 \
31         powerpc/powerpc powerpc/powerpc64 \
32         sparc64/sparc64 \
33         ; do
34     ta=${i##*/}
35     echo -n "Building $ta..."
36     if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make clean cleandepend cleandir obj depend"  \
37          > _.boot.${ta}.log 2>&1; then
38         echo "Fail (cleanup)"
39         continue
40     fi
41     if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make -j 20 all"  \
42          >> _.boot.${ta}.log 2>&1; then
43         echo "Fail (build)"
44         continue
45     fi
46     echo "Success"
47 done
48 for i in \
49         amd64/amd64 \
50         i386/i386 \
51         ; do
52     ta=${i##*/}
53     echo -n "Building $ta MK_ZFS=no..."
54     if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make clean cleandepend cleandir obj depend"  \
55          > _.boot.${ta}.noZFS.log 2>&1; then
56         echo "Fail (cleanup)"
57         continue
58     fi
59     if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make MK_ZFS=no -j 20 all"  \
60          >> _.boot.${ta}.noZFS.log 2>&1; then
61         echo "Fail (build)"
62         continue
63     fi
64     echo "Success"
65 done