Chromium Code Reviews| Index: tools/clang/scripts/update.sh |
| diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh |
| index e8b929f1808ae12a3d990a2ad6c222191ec524f1..c73c5f294805af355356ba3bf169c8fc398b1b26 100755 |
| --- a/tools/clang/scripts/update.sh |
| +++ b/tools/clang/scripts/update.sh |
| @@ -34,6 +34,8 @@ ABS_COMPILER_RT_DIR="${PWD}/${COMPILER_RT_DIR}" |
| # ${A:-a} returns $A if it's set, a else. |
| LLVM_REPO_URL=${LLVM_URL:-https://llvm.org/svn/llvm-project} |
| +CDS_URL=https://commondatastorage.googleapis.com/chromium-browser-clang |
| + |
| if [[ -z "$GYP_DEFINES" ]]; then |
| GYP_DEFINES= |
| fi |
| @@ -161,6 +163,29 @@ if [[ -n ${LLVM_FORCE_HEAD_REVISION:-''} ]]; then |
| with_android= |
| fi |
| + LLVM_BUILD_TOOLS_DIR="${ABS_LLVM_DIR}/../llvm-build-tools" |
| + if [[ $(gcc -dumpversion) < "4.7.0" ]]; then |
| + # We need a newer GCC version. |
| + if [[ ! -e "${LLVM_BUILD_TOOLS_DIR}/gcc482" ]]; then |
| + echo "Downloading pre-built GCC 4.8.2" |
| + mkdir -p "${LLVM_BUILD_TOOLS_DIR}" |
| + curl --fail -L "${CDS_URL}/tools/gcc482.tgz" | \ |
| + tar vzxf - -C "${LLVM_BUILD_TOOLS_DIR}" |
| + fi |
|
Nico
2015/03/04 20:51:19
nit: only do this if gcc_toolchain isn't set (?)
hans
2015/03/04 21:00:13
Oh, good point. Actually, should also check for Li
|
| + gcc_toolchain="${LLVM_BUILD_TOOLS_DIR}/gcc482" |
| + fi |
| + |
| + if [[ $(cmake --version | grep -Eo '[0-9.]+') < "3.0" ]]; then |
| + # We need a newer CMake version. |
| + if [[ ! -e "${LLVM_BUILD_TOOLS_DIR}/cmake310" ]]; then |
| + echo "Downloading pre-built CMake 3.10" |
| + mkdir -p "${LLVM_BUILD_TOOLS_DIR}" |
| + curl --fail -L "${CDS_URL}/tools/cmake310.tgz" | \ |
| + tar vzxf - -C "${LLVM_BUILD_TOOLS_DIR}" |
| + fi |
| + export PATH="${LLVM_BUILD_TOOLS_DIR}/cmake310/bin:${PATH}" |
| + fi |
| + |
| if [[ "${OS}" == "Linux" ]] && [[ -z ${gcc_toolchain:-''} ]]; then |
| # Set gcc_toolchain on Linux; llvm-symbolizer needs the bundled libstdc++. |
| gcc_toolchain="$(dirname $(dirname $(which gcc)))" |
| @@ -210,7 +235,6 @@ rm -f "${STAMP_FILE}" |
| 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_OUT_DIR=$(mktemp -d -t clang_download.XXXXXX) |
| CDS_OUTPUT="${CDS_OUT_DIR}/${CDS_FILE}" |