]> granicus.if.org Git - clang/commitdiff
[CMake] Make bootstrap and compiler-rt depend on cxx-headers.
authorAhmed Bougacha <ahmed.bougacha@gmail.com>
Thu, 28 Jun 2018 18:35:25 +0000 (18:35 +0000)
committerAhmed Bougacha <ahmed.bougacha@gmail.com>
Thu, 28 Jun 2018 18:35:25 +0000 (18:35 +0000)
Since r334468, we no longer always copy the libcxx headers by virtue of
their presence when cmake runs.

This makes some of the later stages (compiler-rt, and the bootstrapped
stages) depend on them being copied, via the cxx-headers target.

Differential Revision: https://reviews.llvm.org/D48700

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@335898 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt
runtime/CMakeLists.txt

index ae8835d751c0c59cecc9140ef7ab929ed0c3e60b..52b8819394994bcc2a8c050cf01ef4fd46c1c523 100644 (file)
@@ -621,10 +621,15 @@ if (CLANG_ENABLE_BOOTSTRAP)
     LLVM_ENABLE_PROJECTS
     LLVM_ENABLE_RUNTIMES)
 
-  # We don't need to depend on compiler-rt if we're building instrumented
+  # We don't need to depend on compiler-rt/libcxx if we're building instrumented
   # because the next stage will use the same compiler used to build this stage.
-  if(TARGET compiler-rt AND NOT LLVM_BUILD_INSTRUMENTED)
-    add_dependencies(clang-bootstrap-deps compiler-rt)
+  if(NOT LLVM_BUILD_INSTRUMENTED)
+    if(TARGET compiler-rt)
+      add_dependencies(clang-bootstrap-deps compiler-rt)
+    endif()
+    if(TARGET cxx-headers)
+      add_dependencies(clang-bootstrap-deps cxx-headers)
+    endif()
   endif()
 
   set(C_COMPILER "clang")
index af8ab163c7cdf3d575abdd03cbe2aeb1dfc1f884..9c2f5cd9cf12f7b4b86cc6ea460d9955d1aae2aa 100644 (file)
@@ -58,8 +58,12 @@ if(LLVM_BUILD_EXTERNAL_COMPILER_RT AND EXISTS ${COMPILER_RT_SRC_ROOT}/)
     endif()
   endforeach()
 
+  if(TARGET cxx-headers)
+    set(COMPILER_RT_LIBCXX_DEPENDENCY "cxx-headers")
+  endif()
+
   ExternalProject_Add(compiler-rt
-    DEPENDS llvm-config clang
+    DEPENDS llvm-config clang ${COMPILER_RT_LIBCXX_DEPENDENCY}
     PREFIX ${COMPILER_RT_PREFIX}
     SOURCE_DIR ${COMPILER_RT_SRC_ROOT}
     STAMP_DIR ${STAMP_DIR}