| OLD | NEW |
| 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. |
| 11 CLANG_REVISION=147434 | 11 CLANG_REVISION=147524 |
| 12 | 12 |
| 13 THIS_DIR="$(dirname "${0}")" | 13 THIS_DIR="$(dirname "${0}")" |
| 14 LLVM_DIR="${THIS_DIR}/../../../third_party/llvm" | 14 LLVM_DIR="${THIS_DIR}/../../../third_party/llvm" |
| 15 LLVM_BUILD_DIR="${LLVM_DIR}/../llvm-build" | 15 LLVM_BUILD_DIR="${LLVM_DIR}/../llvm-build" |
| 16 CLANG_DIR="${LLVM_DIR}/tools/clang" | 16 CLANG_DIR="${LLVM_DIR}/tools/clang" |
| 17 COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" | 17 COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" |
| 18 STAMP_FILE="${LLVM_BUILD_DIR}/cr_build_revision" | 18 STAMP_FILE="${LLVM_BUILD_DIR}/cr_build_revision" |
| 19 | 19 |
| 20 # ${A:-a} returns $A if it's set, a else. | 20 # ${A:-a} returns $A if it's set, a else. |
| 21 LLVM_REPO_URL=${LLVM_URL:-https://llvm.org/svn/llvm-project} | 21 LLVM_REPO_URL=${LLVM_URL:-https://llvm.org/svn/llvm-project} |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 --without-llvmgcc \ | 182 --without-llvmgcc \ |
| 183 --without-llvmgxx | 183 --without-llvmgxx |
| 184 fi | 184 fi |
| 185 | 185 |
| 186 NUM_JOBS=3 | 186 NUM_JOBS=3 |
| 187 if [ "${OS}" = "Linux" ]; then | 187 if [ "${OS}" = "Linux" ]; then |
| 188 NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)" | 188 NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)" |
| 189 elif [ "${OS}" = "Darwin" ]; then | 189 elif [ "${OS}" = "Darwin" ]; then |
| 190 NUM_JOBS="$(sysctl -n hw.ncpu)" | 190 NUM_JOBS="$(sysctl -n hw.ncpu)" |
| 191 fi | 191 fi |
| 192 MACOSX_DEPLOYMENT_TARGET=10.5 make -j"${NUM_JOBS}" | 192 export PATH="/home/fischman/src/goma:$PATH" |
| 193 MACOSX_DEPLOYMENT_TARGET=10.5 make -j500 |
| 193 cd - | 194 cd - |
| 194 | 195 |
| 195 # Build plugin. | 196 # Build plugin. |
| 196 # Copy it into the clang tree and use clang's build system to compile the | 197 # Copy it into the clang tree and use clang's build system to compile the |
| 197 # plugin. | 198 # plugin. |
| 198 PLUGIN_SRC_DIR="${THIS_DIR}/../plugins" | 199 PLUGIN_SRC_DIR="${THIS_DIR}/../plugins" |
| 199 PLUGIN_DST_DIR="${LLVM_DIR}/tools/clang/tools/chrome-plugin" | 200 PLUGIN_DST_DIR="${LLVM_DIR}/tools/clang/tools/chrome-plugin" |
| 200 PLUGIN_BUILD_DIR="${LLVM_BUILD_DIR}/tools/clang/tools/chrome-plugin" | 201 PLUGIN_BUILD_DIR="${LLVM_BUILD_DIR}/tools/clang/tools/chrome-plugin" |
| 201 rm -rf "${PLUGIN_DST_DIR}" | 202 rm -rf "${PLUGIN_DST_DIR}" |
| 202 cp -R "${PLUGIN_SRC_DIR}" "${PLUGIN_DST_DIR}" | 203 cp -R "${PLUGIN_SRC_DIR}" "${PLUGIN_DST_DIR}" |
| 203 rm -rf "${PLUGIN_BUILD_DIR}" | 204 rm -rf "${PLUGIN_BUILD_DIR}" |
| 204 mkdir -p "${PLUGIN_BUILD_DIR}" | 205 mkdir -p "${PLUGIN_BUILD_DIR}" |
| 205 cp "${PLUGIN_SRC_DIR}/Makefile" "${PLUGIN_BUILD_DIR}" | 206 cp "${PLUGIN_SRC_DIR}/Makefile" "${PLUGIN_BUILD_DIR}" |
| 206 MACOSX_DEPLOYMENT_TARGET=10.5 make -j"${NUM_JOBS}" -C "${PLUGIN_BUILD_DIR}" | 207 MACOSX_DEPLOYMENT_TARGET=10.5 make -j"${NUM_JOBS}" -C "${PLUGIN_BUILD_DIR}" |
| 207 | 208 |
| 208 if [[ -n "$run_tests" ]]; then | 209 if [[ -n "$run_tests" ]]; then |
| 209 # Run a few tests. | 210 # Run a few tests. |
| 210 "${PLUGIN_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" | 211 "${PLUGIN_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" |
| 211 cd "${LLVM_BUILD_DIR}" | 212 cd "${LLVM_BUILD_DIR}" |
| 212 make check-all | 213 make check-all |
| 213 cd - | 214 cd - |
| 214 fi | 215 fi |
| 215 | 216 |
| 216 # After everything is done, log success for this revision. | 217 # After everything is done, log success for this revision. |
| 217 echo "${CLANG_REVISION}" > "${STAMP_FILE}" | 218 echo "${CLANG_REVISION}" > "${STAMP_FILE}" |
| OLD | NEW |