Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(357)

Side by Side Diff: tools/clang/scripts/update.sh

Issue 7584023: Check out clang from $LLVM_URL if it's set. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # This script will check out llvm and clang into third_party/llvm and build it. 6 # This script will check out llvm and clang into third_party/llvm and build it.
7 7
8 THIS_DIR="$(dirname "${0}")" 8 THIS_DIR="$(dirname "${0}")"
9 LLVM_DIR="${THIS_DIR}"/../../../third_party/llvm 9 LLVM_DIR="${THIS_DIR}"/../../../third_party/llvm
10 CLANG_DIR="${LLVM_DIR}"/tools/clang 10 CLANG_DIR="${LLVM_DIR}"/tools/clang
11 DEPS_FILE="${THIS_DIR}"/../../../DEPS 11 DEPS_FILE="${THIS_DIR}"/../../../DEPS
12 12
13 # ${A:-a} returns $A if it's set, a else.
14 LLVM_REPO_URL=${LLVM_URL:-http://llvm.org/svn/llvm-project}
15
13 # Die if any command dies. 16 # Die if any command dies.
14 set -e 17 set -e
15 18
16 # Since people need to run this script anyway to compile clang, let it check out 19 # Since people need to run this script anyway to compile clang, let it check out
17 # clang as well if it's not in DEPS, so that people don't have to change their 20 # clang as well if it's not in DEPS, so that people don't have to change their
18 # DEPS if they just want to give clang a try. 21 # DEPS if they just want to give clang a try.
19 CLANG_REVISION=$(grep 'clang_revision":' "${DEPS_FILE}" | egrep -o [[:digit:]]+) 22 CLANG_REVISION=$(grep 'clang_revision":' "${DEPS_FILE}" | egrep -o [[:digit:]]+)
20 23
21 if grep -q 'src/third_party/llvm":' "${DEPS_FILE}"; then 24 if grep -q 'src/third_party/llvm":' "${DEPS_FILE}"; then
22 echo LLVM pulled in through DEPS, skipping LLVM update step 25 echo LLVM pulled in through DEPS, skipping LLVM update step
23 else 26 else
24 echo Getting LLVM r"${CLANG_REVISION}" in "${LLVM_DIR}" 27 echo Getting LLVM r"${CLANG_REVISION}" in "${LLVM_DIR}"
25 svn co --force \ 28 svn co --force "${LLVM_REPO_URL}"/llvm/trunk@"${CLANG_REVISION}" "${LLVM_DIR}"
26 http://llvm.org/svn/llvm-project/llvm/trunk@"${CLANG_REVISION}" \
27 "${LLVM_DIR}"
28 fi 29 fi
29 30
30 if grep -q 'src/third_party/llvm/tools/clang":' "${DEPS_FILE}"; then 31 if grep -q 'src/third_party/llvm/tools/clang":' "${DEPS_FILE}"; then
31 echo clang pulled in through DEPS, skipping clang update step 32 echo clang pulled in through DEPS, skipping clang update step
32 else 33 else
33 echo Getting clang r"${CLANG_REVISION}" in "${CLANG_DIR}" 34 echo Getting clang r"${CLANG_REVISION}" in "${CLANG_DIR}"
34 svn co --force \ 35 svn co --force "${LLVM_REPO_URL}"/cfe/trunk@"${CLANG_REVISION}" "${CLANG_DIR}"
35 http://llvm.org/svn/llvm-project/cfe/trunk@"${CLANG_REVISION}" \
36 "${CLANG_DIR}"
37 fi 36 fi
38 37
39 # Echo all commands. 38 # Echo all commands.
40 set -x 39 set -x
41 40
42 # Build clang (in a separate directory). 41 # Build clang (in a separate directory).
43 # The clang bots have this path hardcoded in built/scripts/slave/compile.py, 42 # The clang bots have this path hardcoded in built/scripts/slave/compile.py,
44 # so if you change it you also need to change these links. 43 # so if you change it you also need to change these links.
45 mkdir -p "${LLVM_DIR}"/../llvm-build 44 mkdir -p "${LLVM_DIR}"/../llvm-build
46 cd "${LLVM_DIR}"/../llvm-build 45 cd "${LLVM_DIR}"/../llvm-build
(...skipping 15 matching lines...) Expand all
62 # plugin. 61 # plugin.
63 PLUGIN_SRC_DIR="${THIS_DIR}"/../plugins 62 PLUGIN_SRC_DIR="${THIS_DIR}"/../plugins
64 PLUGIN_DST_DIR="${LLVM_DIR}"/../llvm/tools/clang/tools/chrome-plugin 63 PLUGIN_DST_DIR="${LLVM_DIR}"/../llvm/tools/clang/tools/chrome-plugin
65 PLUGIN_BUILD_DIR="${LLVM_DIR}"/../llvm-build/tools/clang/tools/chrome-plugin 64 PLUGIN_BUILD_DIR="${LLVM_DIR}"/../llvm-build/tools/clang/tools/chrome-plugin
66 rm -rf "${PLUGIN_DST_DIR}" 65 rm -rf "${PLUGIN_DST_DIR}"
67 cp -R "${PLUGIN_SRC_DIR}" "${PLUGIN_DST_DIR}" 66 cp -R "${PLUGIN_SRC_DIR}" "${PLUGIN_DST_DIR}"
68 rm -rf "${PLUGIN_BUILD_DIR}" 67 rm -rf "${PLUGIN_BUILD_DIR}"
69 mkdir -p "${PLUGIN_BUILD_DIR}" 68 mkdir -p "${PLUGIN_BUILD_DIR}"
70 cp "${PLUGIN_SRC_DIR}"/Makefile "${PLUGIN_BUILD_DIR}" 69 cp "${PLUGIN_SRC_DIR}"/Makefile "${PLUGIN_BUILD_DIR}"
71 make -j"${NUM_JOBS}" -C "${PLUGIN_BUILD_DIR}" 70 make -j"${NUM_JOBS}" -C "${PLUGIN_BUILD_DIR}"
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698