#!/usr/bin/env bash # This script creates the source tree as the other LLVM scripts would like to # find. It's recommended that you use this script before all, and keep the # format correct, so all the other scripts work accordingly. This script # honours the LLVM_GITRW requirement and creates the appropriate type. . llvm-common function prepare() { src=$1 origin=$2 svn=$3 # Clone Linaro repo if [ ! -d $src/.git ]; then mkdir -p $src cd $src/.. safe_run git clone $origin $src fi # Link with upstream SVN if [[ $LLVM_GITRW = 'yes' && ! -d $src/.git/svn ]]; then cd $src safe_run git svn init $svn --username=$LLVM_SVNUSER safe_run git config svn-remote.svn.fetch :refs/remotes/origin/master safe_run git svn fetch fi } if [ -z $LLVM_SVNUSER ]; then gitroot=https://git.linaro.org/toolchain/llvm svnroot=https://llvm.org/svn/llvm-project else gitroot=ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm svnroot=https://$LLVM_SVNUSER@llvm.org/svn/llvm-project fi llvm_repos=$LLVM_ROOT/repos echo " + Setting up LLVM" prepare $llvm_repos/llvm $gitroot/llvm $svnroot/llvm/trunk echo " + Setting up Clang" prepare $llvm_repos/clang $gitroot/clang $svnroot/cfe/trunk echo " + Setting up Clang Tools Extra" prepare $llvm_repos/clang-tools-extra \ $gitroot/clang-tools-extra $svnroot/clang-tools-extra/trunk echo " + Setting up Compiler-RT" prepare $llvm_repos/compiler-rt $gitroot/compiler-rt $svnroot/compiler-rt/trunk echo " + Setting up LLD Linker" prepare $llvm_repos/lld $gitroot/lld $svnroot/lld/trunk echo " + Setting up LibC++" prepare $llvm_repos/libcxx $gitroot/libcxx $svnroot/libcxx/trunk echo " + Setting up LibC++ABI" prepare $llvm_repos/libcxxabi $gitroot/libcxxabi $svnroot/libcxxabi/trunk echo " + Setting up LibUnwind" prepare $llvm_repos/libunwind $gitroot/libunwind $svnroot/libunwind/trunk echo " + Setting up LLDB Debugger" prepare $llvm_repos/lldb $gitroot/lldb $svnroot/lldb/trunk echo " + Setting up Test Suite" prepare $llvm_repos/test-suite $gitroot/test-suite $svnroot/test-suite/trunk echo " + Setting up LNT Test harness" prepare $llvm_repos/lnt $gitroot/lnt $svnroot/lnt/trunk echo " + Setting up Zorg Buildbot Config" prepare $llvm_repos/zorg $gitroot/zorg $svnroot/zorg/trunk echo " + Done"