diff options
-rw-r--r-- | runtimes/CMakeLists.txt | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/runtimes/CMakeLists.txt b/runtimes/CMakeLists.txt index 2974726a7f7..3b059062c17 100644 --- a/runtimes/CMakeLists.txt +++ b/runtimes/CMakeLists.txt @@ -146,6 +146,11 @@ else() # if this is included from LLVM's CMake PASSTHROUGH_PREFIXES COMPILER_RT USE_TOOLCHAIN) set(deps builtins) + # We don't need to depend on the builtins if we're building instrumented + # because the next stage will use the same compiler used to build this stage. + if(NOT LLVM_BUILD_INSTRUMENTED AND CLANG_ENABLE_BOOTSTRAP) + add_dependencies(clang-bootstrap-deps builtins) + endif() endif() # We create a list the names of all the runtime projects in all uppercase and @@ -196,6 +201,16 @@ else() # if this is included from LLVM's CMake ${SUB_COMPONENT_CHECK_TARGETS} ${SUB_INSTALL_TARGETS} USE_TOOLCHAIN) + + # TODO: This is a hack needed because the libcxx headers are copied into the + # build directory during configuration. Without that step the clang in the + # build directory cannot find the C++ headers in certain configurations. + # I need to build a mechanism for runtime projects to provide CMake code + # that executes at LLVM configuration time to handle this case. + if(NOT LLVM_BUILD_INSTRUMENTED AND CLANG_ENABLE_BOOTSTRAP) + add_dependencies(clang-bootstrap-deps runtimes-configure) + endif() + if(LLVM_INCLUDE_TESTS) set_property(GLOBAL APPEND PROPERTY LLVM_ADDITIONAL_TEST_DEPENDS runtimes-test-depends) set_property(GLOBAL APPEND PROPERTY LLVM_ADDITIONAL_TEST_TARGETS check-runtimes) |