| 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=209387 | 11 CLANG_REVISION=213591 |
| 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 LLVM_BOOTSTRAP_INSTALL_DIR="${LLVM_DIR}/../llvm-bootstrap-install" | 17 LLVM_BOOTSTRAP_INSTALL_DIR="${LLVM_DIR}/../llvm-bootstrap-install" |
| 18 CLANG_DIR="${LLVM_DIR}/tools/clang" | 18 CLANG_DIR="${LLVM_DIR}/tools/clang" |
| 19 CLANG_TOOLS_EXTRA_DIR="${CLANG_DIR}/tools/extra" | 19 CLANG_TOOLS_EXTRA_DIR="${CLANG_DIR}/tools/extra" |
| 20 COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" | 20 COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" |
| 21 LIBCXX_DIR="${LLVM_DIR}/projects/libcxx" | 21 LIBCXX_DIR="${LLVM_DIR}/projects/libcxx" |
| (...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 --without-llvmgcc \ | 397 --without-llvmgcc \ |
| 398 --without-llvmgxx | 398 --without-llvmgxx |
| 399 fi | 399 fi |
| 400 | 400 |
| 401 if [[ -n "${gcc_toolchain}" ]]; then | 401 if [[ -n "${gcc_toolchain}" ]]; then |
| 402 # Copy in the right stdlibc++.so.6 so clang can start. | 402 # Copy in the right stdlibc++.so.6 so clang can start. |
| 403 mkdir -p Release+Asserts/lib | 403 mkdir -p Release+Asserts/lib |
| 404 cp -v "$(${CXX} ${CXXFLAGS} -print-file-name=libstdc++.so.6)" \ | 404 cp -v "$(${CXX} ${CXXFLAGS} -print-file-name=libstdc++.so.6)" \ |
| 405 Release+Asserts/lib/ | 405 Release+Asserts/lib/ |
| 406 fi | 406 fi |
| 407 MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" | 407 MACOSX_DEPLOYMENT_TARGET=10.6 ${MAKE} -j"${NUM_JOBS}" |
| 408 STRIP_FLAGS= | 408 STRIP_FLAGS= |
| 409 if [ "${OS}" = "Darwin" ]; then | 409 if [ "${OS}" = "Darwin" ]; then |
| 410 # See http://crbug.com/256342 | 410 # See http://crbug.com/256342 |
| 411 STRIP_FLAGS=-x | 411 STRIP_FLAGS=-x |
| 412 | 412 |
| 413 cp libcxxbuild/libc++.1.dylib Release+Asserts/bin | 413 cp libcxxbuild/libc++.1.dylib Release+Asserts/bin |
| 414 fi | 414 fi |
| 415 strip ${STRIP_FLAGS} Release+Asserts/bin/clang | 415 strip ${STRIP_FLAGS} Release+Asserts/bin/clang |
| 416 popd | 416 popd |
| 417 | 417 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 442 # system to compile it. | 442 # system to compile it. |
| 443 for CHROME_TOOL_DIR in ${chrome_tools}; do | 443 for CHROME_TOOL_DIR in ${chrome_tools}; do |
| 444 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" | 444 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" |
| 445 TOOL_DST_DIR="${LLVM_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" | 445 TOOL_DST_DIR="${LLVM_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" |
| 446 TOOL_BUILD_DIR="${LLVM_BUILD_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" | 446 TOOL_BUILD_DIR="${LLVM_BUILD_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" |
| 447 rm -rf "${TOOL_DST_DIR}" | 447 rm -rf "${TOOL_DST_DIR}" |
| 448 cp -R "${TOOL_SRC_DIR}" "${TOOL_DST_DIR}" | 448 cp -R "${TOOL_SRC_DIR}" "${TOOL_DST_DIR}" |
| 449 rm -rf "${TOOL_BUILD_DIR}" | 449 rm -rf "${TOOL_BUILD_DIR}" |
| 450 mkdir -p "${TOOL_BUILD_DIR}" | 450 mkdir -p "${TOOL_BUILD_DIR}" |
| 451 cp "${TOOL_SRC_DIR}/Makefile" "${TOOL_BUILD_DIR}" | 451 cp "${TOOL_SRC_DIR}/Makefile" "${TOOL_BUILD_DIR}" |
| 452 MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" -C "${TOOL_BUILD_DIR}" | 452 MACOSX_DEPLOYMENT_TARGET=10.6 ${MAKE} -j"${NUM_JOBS}" -C "${TOOL_BUILD_DIR}" |
| 453 done | 453 done |
| 454 | 454 |
| 455 if [[ -n "$run_tests" ]]; then | 455 if [[ -n "$run_tests" ]]; then |
| 456 # Run a few tests. | 456 # Run a few tests. |
| 457 for CHROME_TOOL_DIR in ${chrome_tools}; do | 457 for CHROME_TOOL_DIR in ${chrome_tools}; do |
| 458 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" | 458 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" |
| 459 if [[ -f "${TOOL_SRC_DIR}/tests/test.sh" ]]; then | 459 if [[ -f "${TOOL_SRC_DIR}/tests/test.sh" ]]; then |
| 460 "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" | 460 "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" |
| 461 fi | 461 fi |
| 462 done | 462 done |
| 463 pushd "${LLVM_BUILD_DIR}" | 463 pushd "${LLVM_BUILD_DIR}" |
| 464 ${MAKE} check-all | 464 ${MAKE} check-all |
| 465 popd | 465 popd |
| 466 fi | 466 fi |
| 467 | 467 |
| 468 # After everything is done, log success for this revision. | 468 # After everything is done, log success for this revision. |
| 469 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}" | 469 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}" |
| OLD | NEW |