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 |