summaryrefslogtreecommitdiff
path: root/tcwg-llvm-build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tcwg-llvm-build.sh')
-rwxr-xr-xtcwg-llvm-build.sh44
1 files changed, 26 insertions, 18 deletions
diff --git a/tcwg-llvm-build.sh b/tcwg-llvm-build.sh
index 66215dc3..8b4e05a2 100755
--- a/tcwg-llvm-build.sh
+++ b/tcwg-llvm-build.sh
@@ -37,7 +37,7 @@ BUILDJOBS=$CPUS
TOOLCHAIN=""
TOOLCHAIN_FILE=""
BUILDID=""
-REPOSITORY="https://llvm.org/git/llvm.git"
+REPOSITORY="https://git-us.linaro.org/toolchain/llvm"
BRANCH="master"
# Command line parsing
@@ -198,26 +198,34 @@ LOGBASE="$WORKSPACE/tcwg-llvm"
LOGEXT="txt"
# Checkout
+LLVM_PROJECTS="llvm: clang:tools/clang lld:tools/lld
+ compiler-rt:projects/compiler-rt libunwind:projects/libunwind
+ libcxx:projects/libcxx libcxxabi:projects/libcxxabi"
+LLVM_REVS=""
{
flock -s 9
- git clone -b "$BRANCH" "$REPOSITORY/llvm.git" \
- --reference "$REFDIR/llvm" \
- "$SRCDIR" |& tee "$LOGBASE-clone.$LOGEXT"
- git clone -b "$BRANCH" "$REPOSITORY/clang.git" \
- --reference "$REFDIR/clang" \
- "$SRCDIR/tools/clang" |& tee -a "$LOGBASE-clone.$LOGEXT"
-} 9>"$REFDIR.lock"
-
-if [ ! -z "$REVISION" ]; then
- # Move down to the right revision
- update_git "$SRCDIR" "$REVISION"
- update_git "$SRCDIR/tools/clang" "$REVISION"
-else
+ for proj_ref in $LLVM_PROJECTS; do
+ proj="$(echo "$proj_ref" | cut -d ":" -f 1)"
+ dir="$(echo "$proj_ref" | cut -d ":" -f 2)"
+ if has_remote_branch "$REPOSITORY/$proj.git" "$BRANCH"; then
+ git clone -b "$BRANCH" "$REPOSITORY/$proj.git" \
+ --reference "$REFDIR/$proj" \
+ "$SRCDIR/$dir" |& tee "$LOGBASE-clone.$LOGEXT"
+ # Make sure we are on the right revision
+ if [ ! -z "$REVISION" ]; then
+ # Move down to the right revision
+ update_git "$SRCDIR/$dir" "$REVISION"
+ else
+ # Get the latest revision
+ LLVM_REVS="$LLVM_REVS $(find_svn_rev "$SRCDIR/$dir")"
+ fi
+ fi
+ done
# Get the latest revision from all repos
- LLVM_REV="$(find_svn_rev "$SRCDIR")"
- CLANG_REV="$(find_svn_rev "$SRCDIR/tools/clang")"
- REVISION="r$(find_last_rev "$LLVM_REV" "$CLANG_REV")"
-fi
+ if [ -z "$REVISION" ]; then
+ REVISION="r$(find_last_rev $LLVM_REVS)"
+ fi
+} 9>"$REFDIR.lock"
# CMake
OPTIONS="-DLLVM_BUILD_TESTS=True "