summaryrefslogtreecommitdiff
path: root/tcwg-llvm-release.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tcwg-llvm-release.sh')
-rwxr-xr-xtcwg-llvm-release.sh21
1 files changed, 19 insertions, 2 deletions
diff --git a/tcwg-llvm-release.sh b/tcwg-llvm-release.sh
index e21d2bc6..9e19cdb0 100755
--- a/tcwg-llvm-release.sh
+++ b/tcwg-llvm-release.sh
@@ -17,7 +17,8 @@ SYN_RELEASE="--release=M.m.p"
SYN_CANDIDATE="--candidate=N (or 'final')"
SYN_BUILDJOBS="--buildjobs=N (def. CPUS)"
SYN_TOOLCHAIN="--toolchain=http://url/for/tarball"
-SYNTAX="$0 $SYN_WORKSPACE $SYN_RELEASE $SYN_CANDIDATE $SYN_TOOLCHAIN"
+SYN_TOOLCHAIN_FILE="--toolchain-file=<file-name> (file name to copy the produced toolchain file name)"
+SYNTAX="$0 $SYN_WORKSPACE $SYN_RELEASE $SYN_CANDIDATE $SYN_TOOLCHAIN $SYN_TOOLCHAIN_FILE"
# Environment Variables and default values
WORKSPACE=$(pwd)
@@ -29,6 +30,7 @@ RCDIR=""
CPUS=$(nproc --all)
BUILDJOBS=$CPUS
TOOLCHAIN=""
+TOOLCHAIN_FILE=""
CC=""
CXX=""
@@ -83,6 +85,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"
@@ -152,11 +163,17 @@ result=0
wait $! || result=$?
# Ship
-PKGNAME="$(push_binary_name "$RELEASE$RCTAG" "$TRIPLE")"
+PKGTAG="$RELEASE$RCTAG"
+PKGNAME="$(push_binary_name "$PKGTAG" "$TRIPLE")"
PUSHTYPE="releases"
PUSHDIR="$(push_binary_dir "$PUSHTYPE")"
ssh $PUSHSERVER mkdir -p $PUSHDIR
cd "$WORKSPACE/$RCDIR" && 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
+
exit $result