summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtcwg-llvm-build.sh16
1 files changed, 11 insertions, 5 deletions
diff --git a/tcwg-llvm-build.sh b/tcwg-llvm-build.sh
index 4c758b37..8efef9d2 100755
--- a/tcwg-llvm-build.sh
+++ b/tcwg-llvm-build.sh
@@ -5,6 +5,7 @@
# https://git.linaro.org/toolchain/llvm/linaro-scripts.git
set -e
+set -o pipefail
# Syntax
SYN_BUILD="--build={ninja|make} (def. make)"
@@ -169,18 +170,23 @@ echo "INSTDIR = $INSTDIR"
echo "BUILDJOBS = $BUILDJOBS"
echo "LINKJOBS = $LINKJOBS"
+# Logs
+LOGBASE="$SRCDIR/../tcwg-llvm"
+LOGEXT="txt"
+
# Checkout
-cd "$SRCDIR" && git clone http://llvm.org/git/llvm.git
-cd "$SRCDIR/llvm/tools" && git clone http://llvm.org/git/clang.git
+git clone http://llvm.org/git/llvm.git "$SRCDIR" |& tee "$LOGBASE-clone.$LOGEXT"
+git clone http://llvm.org/git/clang.git "$SRCDIR/tools/clang" |& tee -a "$LOGBASE-clone.$LOGEXT"
# CMake
OPTIONS="-DLLVM_BUILD_TESTS=True "
OPTIONS+="-DCMAKE_BUILD_TYPE='$BUILDTYPE' "
OPTIONS+="-DLLVM_ENABLE_ASSERTIONS='$ASSERTS' "
-OPTIONS+="-DCMAKE_INSTALL_PREFIX='$INSTDIR' "
OPTIONS+="-DLLVM_PARALLEL_COMPILE_JOBS='$BUILDJOBS' "
OPTIONS+="-DLLVM_PARALLEL_LINK_JOBS='$LINKJOBS' "
-cd "$BUILDDIR" && cmake -G "$GEN" "$SRCDIR" "$OPTIONS" -DLLVM_LIT_ARGS="-sv -j$CPUS"
+cd "$BUILDDIR" && cmake -G "$GEN" "$SRCDIR" "$OPTIONS" -DLLVM_LIT_ARGS="-sv -j$CPUS" |& tee "$LOGBASE-cmake.$LOGEXT"
# Build + check
-cd "$BUILDDIR" && ninja "-j$CPUS" check-all
+cd "$BUILDDIR" && $BUILD "-j$CPUS" |& tee "$LOGBASE-build.$LOGEXT"
+cd "$BUILDDIR" && $BUILD "-j$CPUS" check-all |& tee "$LOGBASE-check.$LOGEXT"
+cd "$BUILDDIR" && $BUILD "-j$CPUS" DESTDIR="$INSTDIR" install |& tee "$LOGBASE-install.$LOGEXT"