Index: tools/clang/scripts/update.sh |
diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh |
index aef39e80ed0d816ba7ee4f1c7634278da6b8a0e8..8132b8f2b53029530e596b28fa8055114322e4e0 100755 |
--- a/tools/clang/scripts/update.sh |
+++ b/tools/clang/scripts/update.sh |
@@ -9,6 +9,7 @@ |
# https://code.google.com/p/chromium/wiki/UpdatingClang |
# Reverting problematic clang rolls is safe, though. |
CLANG_REVISION=193323 |
+PLUGIN_REVISION= |
THIS_DIR="$(dirname "${0}")" |
LLVM_DIR="${THIS_DIR}/../../../third_party/llvm" |
@@ -19,6 +20,7 @@ CLANG_TOOLS_EXTRA_DIR="${CLANG_DIR}/tools/extra" |
COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" |
ANDROID_NDK_DIR="${LLVM_DIR}/../android_tools/ndk" |
STAMP_FILE="${LLVM_BUILD_DIR}/cr_build_revision" |
+ARCHIVE_REVISION="${CLANG_REVISION}${PLUGIN_REVISION}" |
# ${A:-a} returns $A if it's set, a else. |
LLVM_REPO_URL=${LLVM_URL:-https://llvm.org/svn/llvm-project} |
@@ -34,7 +36,7 @@ mac_only= |
run_tests= |
bootstrap= |
with_android=yes |
-chrome_tools="plugins" |
+chrome_tools="plugins blink_gc_plugin" |
if [[ "${OS}" = "Darwin" ]]; then |
with_android= |
@@ -122,8 +124,8 @@ fi |
if [[ -f "${STAMP_FILE}" ]]; then |
PREVIOUSLY_BUILT_REVISON=$(cat "${STAMP_FILE}") |
if [[ -z "$force_local_build" ]] && \ |
- [[ "${PREVIOUSLY_BUILT_REVISON}" = "${CLANG_REVISION}" ]]; then |
- echo "Clang already at ${CLANG_REVISION}" |
+ [[ "${PREVIOUSLY_BUILT_REVISON}" = "${ARCHIVE_REVISION}" ]]; then |
+ echo "Clang already at ${ARCHIVE_REVISION}" |
exit 0 |
fi |
fi |
@@ -160,7 +162,7 @@ if [[ -z "$force_local_build" ]]; then |
# 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=https://commondatastorage.googleapis.com/chromium-browser-clang |
- CDS_FILE="clang-${CLANG_REVISION}.tgz" |
+ CDS_FILE="clang-${ARCHIVE_REVISION}.tgz" |
CDS_OUT_DIR=$(mktemp -d -t clang_download.XXXXXX) |
CDS_OUTPUT="${CDS_OUT_DIR}/${CDS_FILE}" |
if [ "${OS}" = "Linux" ]; then |
@@ -182,12 +184,12 @@ if [[ -z "$force_local_build" ]]; then |
rm -rf "${LLVM_BUILD_DIR}/Release+Asserts" |
mkdir -p "${LLVM_BUILD_DIR}/Release+Asserts" |
tar -xzf "${CDS_OUTPUT}" -C "${LLVM_BUILD_DIR}/Release+Asserts" |
- echo clang "${CLANG_REVISION}" unpacked |
- echo "${CLANG_REVISION}" > "${STAMP_FILE}" |
+ echo clang "${ARCHIVE_REVISION}" unpacked |
+ echo "${ARCHIVE_REVISION}" > "${STAMP_FILE}" |
rm -rf "${CDS_OUT_DIR}" |
exit 0 |
else |
- echo Did not find prebuilt clang at r"${CLANG_REVISION}", building |
+ echo Did not find prebuilt clang at r"${ARCHIVE_REVISION}", building |
fi |
fi |
@@ -311,12 +313,16 @@ done |
if [[ -n "$run_tests" ]]; then |
# Run a few tests. |
- PLUGIN_SRC_DIR="${THIS_DIR}/../plugins" |
- "${PLUGIN_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" |
+ for CHROME_TOOL_DIR in ${chrome_tools}; do |
+ TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" |
+ if [[ -f "${TOOL_SRC_DIR}/tests/test.sh" ]]; then |
+ "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" |
+ fi |
+ done |
cd "${LLVM_BUILD_DIR}" |
make check-all |
cd - |
fi |
# After everything is done, log success for this revision. |
-echo "${CLANG_REVISION}" > "${STAMP_FILE}" |
+echo "${ARCHIVE_REVISION}" > "${STAMP_FILE}" |