aboutsummaryrefslogtreecommitdiff
path: root/helpers/llvm-prepare
blob: 204bfa46a484b838224ccc841c8a62cb99917ad7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/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
  link=$2
  origin=$3
  svn=$4
  dir=`basename $src`
  # Clone Linaro repo
  if [ ! -d $src/.git ]; then
    mkdir -p $src
    cd $src/..
    safe_run git clone $origin $dir
  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
  # Create the symlink into LLVM's source
  if [[ $link != "no" && ! -x $link ]]; then
    cd $src
    ln -sf $src $link
  fi
}

echo " + Setting up LLVM"
prepare $LLVM_SRC $LLVM_SRC \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/llvm \
        https://llvm.org/svn/llvm-project/llvm/trunk
echo " + Setting up Clang"
prepare $LLVM_SRC/../clang $LLVM_SRC/tools/clang \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/clang \
        https://llvm.org/svn/llvm-project/cfe/trunk
echo " + Setting up Clang Tools Extra"
prepare $LLVM_SRC/../clang-tools-extra $LLVM_SRC/../clang/tools/extra \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/clang-tools-extra \
        https://llvm.org/svn/llvm-project/clang-tools-extra/trunk
echo " + Setting up Compiler-RT"
prepare $LLVM_SRC/../compiler-rt $LLVM_SRC/projects/compiler-rt \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/compiler-rt \
        https://llvm.org/svn/llvm-project/compiler-rt/trunk
echo " + Setting up LLD Linker"
prepare $LLVM_SRC/../lld $LLVM_SRC/tools/lld \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/lld \
        https://llvm.org/svn/llvm-project/lld/trunk
echo " + Setting up LibC++"
prepare $LLVM_SRC/../libcxx no \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/libcxx \
        https://llvm.org/svn/llvm-project/libcxx/trunk
echo " + Setting up LibC++ABI"
prepare $LLVM_SRC/../libcxxabi no \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/libcxxabi \
        https://llvm.org/svn/llvm-project/libcxxabi/trunk
echo " + Setting up LibUnwind"
prepare $LLVM_SRC/../libunwind $LLVM_SRC/projects/libunwind \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/libunwind \
        https://llvm.org/svn/llvm-project/libunwind/trunk
echo " + Setting up LLDB Debugger"
prepare $LLVM_SRC/../lldb $LLVM_SRC/tools/lldb \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/lldb \
        https://llvm.org/svn/llvm-project/lldb/trunk
echo " + Setting up Test Suite"
prepare $LLVM_SRC/../test-suite $LLVM_SRC/projects/test-suite \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/test-suite \
        https://llvm.org/svn/llvm-project/test-suite/trunk
echo " + Setting up LNT Test harness"
prepare $LLVM_SRC/../lnt $LLVM_SRC/projects/lnt \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/lnt \
        https://llvm.org/svn/llvm-project/lnt/trunk
echo " + Setting up Zorg Buildbot Config"
prepare $LLVM_SRC/../zorg $LLVM_SRC/projects/zorg \
        ssh://$LLVM_GITUSER@review.linaro.org:29418/toolchain/llvm/zorg \
        https://llvm.org/svn/llvm-project/zorg/trunk

mkdir -p $LLVM_BLD

echo " + Done"