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

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

Issue 268363020: clang: Instead of having update.sh clobber out/, add a define with the current revision. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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
« build/common.gypi ('K') | « build/common.gypi ('k') | 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 #!/usr/bin/env bash 1 #!/usr/bin/env bash
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 # Do NOT CHANGE this if you don't know what you're doing -- see 8 # Do NOT CHANGE this if you don't know what you're doing -- see
9 # https://code.google.com/p/chromium/wiki/UpdatingClang 9 # https://code.google.com/p/chromium/wiki/UpdatingClang
10 # Reverting problematic clang rolls is safe, though. 10 # Reverting problematic clang rolls is safe, though.
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 case $1 in 71 case $1 in
72 --bootstrap) 72 --bootstrap)
73 bootstrap=yes 73 bootstrap=yes
74 ;; 74 ;;
75 --if-needed) 75 --if-needed)
76 if_needed=yes 76 if_needed=yes
77 ;; 77 ;;
78 --force-local-build) 78 --force-local-build)
79 force_local_build=yes 79 force_local_build=yes
80 ;; 80 ;;
81 --print-revision)
82 echo $CLANG_REVISION
83 exit 0
84 ;;
81 --run-tests) 85 --run-tests)
82 run_tests=yes 86 run_tests=yes
83 ;; 87 ;;
84 --without-android) 88 --without-android)
85 with_android= 89 with_android=
86 ;; 90 ;;
87 --with-chrome-tools) 91 --with-chrome-tools)
88 shift 92 shift
89 if [[ $# == 0 ]]; then 93 if [[ $# == 0 ]]; then
90 echo "--with-chrome-tools requires an argument." 94 echo "--with-chrome-tools requires an argument."
(...skipping 15 matching lines...) Expand all
106 exit 1 110 exit 1
107 fi 111 fi
108 ;; 112 ;;
109 113
110 --help) 114 --help)
111 echo "usage: $0 [--force-local-build] [--if-needed] [--run-tests] " 115 echo "usage: $0 [--force-local-build] [--if-needed] [--run-tests] "
112 echo "--bootstrap: First build clang with CC, then with itself." 116 echo "--bootstrap: First build clang with CC, then with itself."
113 echo "--force-local-build: Don't try to download prebuilt binaries." 117 echo "--force-local-build: Don't try to download prebuilt binaries."
114 echo "--if-needed: Download clang only if the script thinks it is needed." 118 echo "--if-needed: Download clang only if the script thinks it is needed."
115 echo "--run-tests: Run tests after building. Only for local builds." 119 echo "--run-tests: Run tests after building. Only for local builds."
120 echo "--print-revision: Print current clang revision and exit."
116 echo "--without-android: Don't build ASan Android runtime library." 121 echo "--without-android: Don't build ASan Android runtime library."
117 echo "--with-chrome-tools: Select which chrome tools to build." \ 122 echo "--with-chrome-tools: Select which chrome tools to build." \
118 "Defaults to plugins." 123 "Defaults to plugins."
119 echo " Example: --with-chrome-tools 'plugins empty-string'" 124 echo " Example: --with-chrome-tools 'plugins empty-string'"
120 echo "--gcc-toolchain: Set the prefix for which GCC version should" 125 echo "--gcc-toolchain: Set the prefix for which GCC version should"
121 echo " be used for building. For example, to use gcc in" 126 echo " be used for building. For example, to use gcc in"
122 echo " /opt/foo/bin/gcc, use '--gcc-toolchain '/opt/foo" 127 echo " /opt/foo/bin/gcc, use '--gcc-toolchain '/opt/foo"
123 echo 128 echo
124 exit 1 129 exit 1
125 ;; 130 ;;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 [[ "${PREVIOUSLY_BUILT_REVISON}" = \ 169 [[ "${PREVIOUSLY_BUILT_REVISON}" = \
165 "${CLANG_AND_PLUGINS_REVISION}" ]]; then 170 "${CLANG_AND_PLUGINS_REVISION}" ]]; then
166 echo "Clang already at ${CLANG_AND_PLUGINS_REVISION}" 171 echo "Clang already at ${CLANG_AND_PLUGINS_REVISION}"
167 exit 0 172 exit 0
168 fi 173 fi
169 fi 174 fi
170 # To always force a new build if someone interrupts their build half way. 175 # To always force a new build if someone interrupts their build half way.
171 rm -f "${STAMP_FILE}" 176 rm -f "${STAMP_FILE}"
172 177
173 178
174 # Clobber all output files. PCH files only work with the compiler that created
175 # them, so we need clobber the output files to make sure they are rebuilt
176 # using the new compiler.
177 echo "Clobbering build files"
178 MAKE_DIR="${THIS_DIR}/../../../out"
179 XCODEBUILD_DIR="${THIS_DIR}/../../../xcodebuild"
180 for DIR in "${XCODEBUILD_DIR}" "${MAKE_DIR}"; do
181 if [[ -d "${DIR}" ]]; then
182 rm -rf "${DIR}"
183 fi
184 done
185
186 if [[ -z "$force_local_build" ]]; then 179 if [[ -z "$force_local_build" ]]; then
187 # Check if there's a prebuilt binary and if so just fetch that. That's faster, 180 # Check if there's a prebuilt binary and if so just fetch that. That's faster,
188 # and goma relies on having matching binary hashes on client and server too. 181 # and goma relies on having matching binary hashes on client and server too.
189 CDS_URL=https://commondatastorage.googleapis.com/chromium-browser-clang 182 CDS_URL=https://commondatastorage.googleapis.com/chromium-browser-clang
190 CDS_FILE="clang-${CLANG_REVISION}.tgz" 183 CDS_FILE="clang-${CLANG_REVISION}.tgz"
191 CDS_OUT_DIR=$(mktemp -d -t clang_download.XXXXXX) 184 CDS_OUT_DIR=$(mktemp -d -t clang_download.XXXXXX)
192 CDS_OUTPUT="${CDS_OUT_DIR}/${CDS_FILE}" 185 CDS_OUTPUT="${CDS_OUT_DIR}/${CDS_FILE}"
193 if [ "${OS}" = "Linux" ]; then 186 if [ "${OS}" = "Linux" ]; then
194 CDS_FULL_URL="${CDS_URL}/Linux_x64/${CDS_FILE}" 187 CDS_FULL_URL="${CDS_URL}/Linux_x64/${CDS_FILE}"
195 elif [ "${OS}" = "Darwin" ]; then 188 elif [ "${OS}" = "Darwin" ]; then
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" 477 "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts"
485 fi 478 fi
486 done 479 done
487 pushd "${LLVM_BUILD_DIR}" 480 pushd "${LLVM_BUILD_DIR}"
488 ${MAKE} check-all 481 ${MAKE} check-all
489 popd 482 popd
490 fi 483 fi
491 484
492 # After everything is done, log success for this revision. 485 # After everything is done, log success for this revision.
493 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}" 486 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}"
OLDNEW
« build/common.gypi ('K') | « build/common.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698