Index: tools/clang/scripts/update.sh |
diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh |
index ccb210a971bf2c58ec98b576c3998101c65b9966..1feb2f58bdb475a6ef330244e4ea3915e913d33b 100755 |
--- a/tools/clang/scripts/update.sh |
+++ b/tools/clang/scripts/update.sh |
@@ -351,19 +351,26 @@ fi |
CFLAGS="" |
CXXFLAGS="" |
LDFLAGS="" |
+ |
# LLVM uses C++11 starting in llvm 3.5. On Linux, this means libstdc++4.7+ is |
# needed, on OS X it requires libc++. clang only automatically links to libc++ |
# when targeting OS X 10.9+, so add stdlib=libc++ explicitly so clang can run on |
# OS X versions as old as 10.7. |
# TODO(thakis): Some bots are still on 10.6, so for now bundle libc++.dylib. |
# Remove this once all bots are on 10.7+, then use --enable-libcpp=yes and |
-# change all MACOSX_DEPLOYMENT_TARGET values to 10.7. |
+# change deployment_target to 10.7. |
+deployment_target="" |
+ |
if [ "${OS}" = "Darwin" ]; then |
# When building on 10.9, /usr/include usually doesn't exist, and while |
# Xcode's clang automatically sets a sysroot, self-built clangs don't. |
CFLAGS="-isysroot $(xcrun --show-sdk-path)" |
CPPFLAGS="${CFLAGS}" |
CXXFLAGS="-stdlib=libc++ -nostdinc++ -I${ABS_LIBCXX_DIR}/include ${CFLAGS}" |
+ |
+ if [[ -n "${bootstrap}" ]]; then |
+ deployment_target=10.6 |
+ fi |
fi |
# Build bootstrap clang if requested. |
@@ -447,21 +454,20 @@ if [ "${OS}" = "Darwin" ]; then |
LDFLAGS+="-stdlib=libc++ -L${PWD}/libcxxbuild" |
fi |
-if [[ ! -f ./CMakeCache.txt ]]; then |
- MACOSX_DEPLOYMENT_TARGET=10.6 cmake -GNinja \ |
- -DCMAKE_BUILD_TYPE=Release \ |
- -DLLVM_ENABLE_ASSERTIONS=ON \ |
- -DLLVM_ENABLE_THREADS=OFF \ |
- -DCMAKE_C_COMPILER="${CC}" \ |
- -DCMAKE_CXX_COMPILER="${CXX}" \ |
- -DCMAKE_C_FLAGS="${CFLAGS}" \ |
- -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ |
- -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \ |
- -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \ |
- -DCMAKE_MODULE_LINKER_FLAGS="${LDFLAGS}" \ |
- "${ABS_LLVM_DIR}" |
- env |
-fi |
+rm -fv CMakeCache.txt |
+MACOSX_DEPLOYMENT_TARGET=${deployment_target} cmake -GNinja \ |
+ -DCMAKE_BUILD_TYPE=Release \ |
+ -DLLVM_ENABLE_ASSERTIONS=ON \ |
+ -DLLVM_ENABLE_THREADS=OFF \ |
+ -DCMAKE_C_COMPILER="${CC}" \ |
+ -DCMAKE_CXX_COMPILER="${CXX}" \ |
+ -DCMAKE_C_FLAGS="${CFLAGS}" \ |
+ -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ |
+ -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \ |
+ -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \ |
+ -DCMAKE_MODULE_LINKER_FLAGS="${LDFLAGS}" \ |
+ "${ABS_LLVM_DIR}" |
+env |
if [[ -n "${gcc_toolchain}" ]]; then |
# Copy in the right stdlibc++.so.6 so clang can start. |
@@ -485,7 +491,8 @@ popd |
mkdir -p "${COMPILER_RT_BUILD_DIR}" |
pushd "${COMPILER_RT_BUILD_DIR}" |
-MACOSX_DEPLOYMENT_TARGET=10.6 cmake -GNinja \ |
+rm -fv CMakeCache.txt |
+MACOSX_DEPLOYMENT_TARGET=${deployment_target} cmake -GNinja \ |
-DCMAKE_BUILD_TYPE=Release \ |
-DLLVM_ENABLE_ASSERTIONS=ON \ |
-DLLVM_ENABLE_THREADS=OFF \ |
@@ -526,7 +533,8 @@ if [[ -n "${with_android}" ]]; then |
# Build ASan runtime for Android in a separate build tree. |
mkdir -p ${LLVM_BUILD_DIR}/android |
pushd ${LLVM_BUILD_DIR}/android |
- MACOSX_DEPLOYMENT_TARGET=10.6 cmake -GNinja \ |
+ rm -fv CMakeCache.txt |
+ MACOSX_DEPLOYMENT_TARGET=${deployment_target} cmake -GNinja \ |
-DCMAKE_BUILD_TYPE=Release \ |
-DLLVM_ENABLE_ASSERTIONS=ON \ |
-DLLVM_ENABLE_THREADS=OFF \ |
@@ -552,7 +560,8 @@ TOOL_BUILD_DIR="${ABS_LLVM_BUILD_DIR}/tools/clang/tools/chrome-extras" |
rm -rf "${TOOL_BUILD_DIR}" |
mkdir -p "${TOOL_BUILD_DIR}" |
pushd "${TOOL_BUILD_DIR}" |
-MACOSX_DEPLOYMENT_TARGET=10.6 cmake -GNinja \ |
+rm -fv CMakeCache.txt |
+MACOSX_DEPLOYMENT_TARGET=${deployment_target} cmake -GNinja \ |
-DLLVM_BUILD_DIR="${ABS_LLVM_BUILD_DIR}" \ |
-DLLVM_SRC_DIR="${ABS_LLVM_DIR}" \ |
-DCMAKE_C_COMPILER="${CC}" \ |