| #!/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 --no-checkout $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 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" |