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

Unified Diff: tools/clang/scripts/update.sh

Issue 7741039: roll clang 138187:138188 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 520 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 side-by-side diff with in-line comments
Download patch
« tools/clang/scripts/package.sh ('K') | « tools/clang/scripts/package.sh ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/clang/scripts/update.sh
diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh
index 352eff173175e1307842d2e7c49b4dce3940fe17..27abeab2e10b2965ebb401a83758dfd43aeab83f 100755
--- a/tools/clang/scripts/update.sh
+++ b/tools/clang/scripts/update.sh
@@ -34,11 +34,37 @@ fi
# To always force a new build if someone interrupts their build half way.
rm -f "${STAMP_FILE}"
+# Check if there's a prebuilt binary and if so just fetch that. That's faster,
+# and goma relies on having matching binary hashes on client and server too.
+CDS_URL=http://commondatastorage.googleapis.com/chromium-browser-clang
Mark Mentovai 2011/08/26 16:55:19 Can you skip the “try to download binary” step if
Nico 2011/08/27 05:25:33 I wanted to add some flag for that, and I'm waitin
+CDS_FILE="clang-${CLANG_REVISION}.tgz"
+echo Trying to download prebuilt clang
Mark Mentovai 2011/08/26 16:55:19 It’s good practice to quote the entire string you’
Nico 2011/08/27 05:25:33 Done.
+if [ "$(uname -s)" = "Linux" ]; then
Mark Mentovai 2011/08/26 16:55:19 You run |uname -s| repeatedly to check the same th
Nico 2011/08/27 05:25:33 It's cheap to run and its result is unlikely to ch
+ wget "${CDS_URL}/Linux_x64/${CDS_FILE}" || rm -f "${CDS_FILE}"
+elif [ "$(uname -s)" = "Darwin" ]; then
+ curl -L --fail -O "${CDS_URL}/Mac/${CDS_FILE}" || rm -f "${CDS_FILE}"
+fi
+if [ -f "${CDS_FILE}" ]; then
+ rm -rf "${LLVM_BUILD_DIR}/Release+Asserts"
+ mkdir -p "${LLVM_BUILD_DIR}/Release+Asserts"
+ tar -xzf "${CDS_FILE}" -C "${LLVM_BUILD_DIR}/Release+Asserts"
+ echo clang "${CLANG_REVISION}" unpacked
+ echo "${CLANG_REVISION}" > "${STAMP_FILE}"
+ exit 0
+else
+ echo Did not find prebuilt clang at r"${CLANG_REVISION}", building
+fi
+
if grep -q 'src/third_party/llvm":' "${DEPS_FILE}"; then
echo LLVM pulled in through DEPS, skipping LLVM update step
else
echo Getting LLVM r"${CLANG_REVISION}" in "${LLVM_DIR}"
- svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" "${LLVM_DIR}"
+ if ! svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" \
+ "${LLVM_DIR}"; then
+ echo Checkout failed, retrying
Mark Mentovai 2011/08/26 16:55:19 Why do you retry this one but not the one to check
Nico 2011/08/27 05:25:33 clang's checked out to llvm/tools/clang. It's very
+ rm -rf "${LLVM_DIR}"
+ svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" "${LLVM_DIR}"
+ fi
fi
if grep -q 'src/third_party/llvm/tools/clang":' "${DEPS_FILE}"; then
@@ -59,6 +85,8 @@ cd "${LLVM_BUILD_DIR}"
if [ ! -f ./config.status ]; then
../llvm/configure \
--enable-optimized \
+ --disable-threads \
Mark Mentovai 2011/08/26 16:55:19 Curious about what GOMA’s requirements are that ma
Nico 2011/08/27 05:25:33 They run gcc in a fake chrooted sandbox, and I'm g
+ --disable-pthreads \
--without-llvmgcc \
--without-llvmgxx
fi
« tools/clang/scripts/package.sh ('K') | « tools/clang/scripts/package.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698