diff options
Diffstat (limited to 'tcwg-llvm-build.sh')
-rwxr-xr-x | tcwg-llvm-build.sh | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/tcwg-llvm-build.sh b/tcwg-llvm-build.sh index c4b2232e..dc4dde96 100755 --- a/tcwg-llvm-build.sh +++ b/tcwg-llvm-build.sh @@ -19,7 +19,8 @@ SYN_BUILDJOBS="--buildjobs=N (def. CPUS)" SYN_LINKJOBS="--linkjobs=N (def. RAM+1)" SYN_TOOLCHAIN="--toolchain=http://url/for/tarball" SYN_BUILDID="--buildid=<text-to-add-to-tarball>" -SYNTAX="$0 $SYN_WORKSPACE $SYN_REVISION $SYN_ASSERTS $SYN_LINKJOBS $SYN_BUILDJOBS $SYN_TOOLCHAIN $SYN_BUILDID" +SYN_TOOLCHAIN_FILE="--toolchain-file=<file-name> (file name to copy the produced toolchain file name)" +SYNTAX="$0 $SYN_WORKSPACE $SYN_REVISION $SYN_ASSERTS $SYN_LINKJOBS $SYN_BUILDJOBS $SYN_TOOLCHAIN $SYN_BUILDID $SYN_TOOLCHAIN_FILE" # Environment Variables and default values WORKSPACE=$(pwd) @@ -31,6 +32,7 @@ BUILDDIR="" INSTDIR="" BUILDJOBS=$CPUS TOOLCHAIN="" +TOOLCHAIN_FILE="" BUILDID="" CC="" CXX="" @@ -108,6 +110,15 @@ while [ "$#" -gt 0 ]; do --toolchain) download_toolchain "$WORKSPACE" "$VAL" shift ;; + --toolchain-file) + if [ "$VAL" != "" ]; then + TOOLCHAIN_FILE="$VAL" + else + echo "ERROR: Toolchain file '$VAL' not valid" + echo "Syntax: $SYN_TOOLCHAIN_FILE" + exit 1 + fi + shift ;; *) echo "ERROR: Invalid argument '$1'" echo "Syntax: $SYNTAX" @@ -198,8 +209,9 @@ mkdir -p "$INSTDIR" cd "$BUILDDIR" && ninja "-j$CPUS" install |& tee "$LOGBASE-install.$LOGEXT" # Pack & Ship +PKGTAG="$BUILDID" TARGET=$("$BUILDDIR/bin/clang" --version | awk '/Target:/ { print $2 }') -PKGNAME="$(push_binary_name "$BUILDID" "$TARGET")" +PKGNAME="$(push_binary_name "$PKGTAG" "$TARGET")" PKGDIR="$WORKSPACE/$PKGNAME" PUSHTYPE="binaries" PUSHDIR="$(push_binary_dir "$PUSHTYPE")" @@ -208,3 +220,8 @@ cd "$WORKSPACE" && [ ! -d "$PKGDIR" ] && mv "$INSTDIR" "$PKGDIR" cd "$WORKSPACE" && tar cf "$PKGNAME.$PUSHSUFFIX" "$PKGNAME" ssh $PUSHSERVER mkdir -p $PUSHDIR cd "$WORKSPACE" && scp "$PKGNAME.$PUSHSUFFIX" "$(push_scp_url "$PUSHTYPE")" + +# Create toolchain file (wget URL) +if [ "$TOOLCHAIN_FILE" != "" ]; then + echo "$(push_wget_url "$PKGTAG" "$TARGET" "$PUSHTYPE")" >> "$TOOLCHAIN_FILE" +fi |