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=179138 | 11 CLANG_REVISION=182481 |
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 LLVM_BOOTSTRAP_DIR="${LLVM_DIR}/../llvm-bootstrap" | 16 LLVM_BOOTSTRAP_DIR="${LLVM_DIR}/../llvm-bootstrap" |
17 CLANG_DIR="${LLVM_DIR}/tools/clang" | 17 CLANG_DIR="${LLVM_DIR}/tools/clang" |
18 CLANG_TOOLS_EXTRA_DIR="${CLANG_DIR}/tools/extra" | 18 CLANG_TOOLS_EXTRA_DIR="${CLANG_DIR}/tools/extra" |
19 COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" | 19 COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" |
20 ANDROID_NDK_DIR="${LLVM_DIR}/../android_tools/ndk" | 20 ANDROID_NDK_DIR="${LLVM_DIR}/../android_tools/ndk" |
21 STAMP_FILE="${LLVM_BUILD_DIR}/cr_build_revision" | 21 STAMP_FILE="${LLVM_BUILD_DIR}/cr_build_revision" |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 | 322 |
323 if [[ -n "${with_android}" ]]; then | 323 if [[ -n "${with_android}" ]]; then |
324 # Make a standalone Android toolchain. | 324 # Make a standalone Android toolchain. |
325 ${ANDROID_NDK_DIR}/build/tools/make-standalone-toolchain.sh \ | 325 ${ANDROID_NDK_DIR}/build/tools/make-standalone-toolchain.sh \ |
326 --platform=android-14 \ | 326 --platform=android-14 \ |
327 --install-dir="${LLVM_BUILD_DIR}/android-toolchain" \ | 327 --install-dir="${LLVM_BUILD_DIR}/android-toolchain" \ |
328 --system=linux-x86_64 \ | 328 --system=linux-x86_64 \ |
329 --stl=stlport | 329 --stl=stlport |
330 | 330 |
331 # Build ASan runtime for Android. | 331 # Build ASan runtime for Android. |
| 332 # Note: LLVM_ANDROID_TOOLCHAIN_DIR is not relative to PWD, but to where we |
| 333 # build the runtime, i.e. third_party/llvm/projects/compiler-rt. |
332 cd "${LLVM_BUILD_DIR}" | 334 cd "${LLVM_BUILD_DIR}" |
333 TC="${PWD}/android-toolchain" | 335 make -C tools/clang/runtime/ \ |
334 make -C tools/clang/runtime/ LLVM_ANDROID_TOOLCHAIN_DIR="${TC}" | 336 LLVM_ANDROID_TOOLCHAIN_DIR="../../../llvm-build/android-toolchain" |
335 cd - | 337 cd - |
336 fi | 338 fi |
337 | 339 |
338 # Build Chrome-specific clang tools. Paths in this list should be relative to | 340 # Build Chrome-specific clang tools. Paths in this list should be relative to |
339 # tools/clang. | 341 # tools/clang. |
340 # For each tool directory, copy it into the clang tree and use clang's build | 342 # For each tool directory, copy it into the clang tree and use clang's build |
341 # system to compile it. | 343 # system to compile it. |
342 for CHROME_TOOL_DIR in ${chrome_tools}; do | 344 for CHROME_TOOL_DIR in ${chrome_tools}; do |
343 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" | 345 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" |
344 TOOL_DST_DIR="${LLVM_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" | 346 TOOL_DST_DIR="${LLVM_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" |
(...skipping 10 matching lines...) Expand all Loading... |
355 # Run a few tests. | 357 # Run a few tests. |
356 PLUGIN_SRC_DIR="${THIS_DIR}/../plugins" | 358 PLUGIN_SRC_DIR="${THIS_DIR}/../plugins" |
357 "${PLUGIN_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" | 359 "${PLUGIN_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" |
358 cd "${LLVM_BUILD_DIR}" | 360 cd "${LLVM_BUILD_DIR}" |
359 make check-all | 361 make check-all |
360 cd - | 362 cd - |
361 fi | 363 fi |
362 | 364 |
363 # After everything is done, log success for this revision. | 365 # After everything is done, log success for this revision. |
364 echo "${CLANG_REVISION}" > "${STAMP_FILE}" | 366 echo "${CLANG_REVISION}" > "${STAMP_FILE}" |
OLD | NEW |