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
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")
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}