diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt --- a/llvm/runtimes/CMakeLists.txt +++ b/llvm/runtimes/CMakeLists.txt @@ -63,10 +63,14 @@ function(builtin_default_target compiler_rt_path) cmake_parse_arguments(ARG "" "" "DEPENDS" ${ARGN}) - set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default ON) - # AIX should fold 32-bit & 64-bit arch libraries into a single archive. - if (LLVM_TARGET_TRIPLE MATCHES "aix") - set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default OFF) + # May have been set by llvm/CMakeLists.txt. + if (NOT DEFINED LLVM_ENABLE_PER_TARGET_RUNTIME_DIR) + # AIX should fold 32-bit & 64-bit arch libraries into a single archive. + if (LLVM_TARGET_TRIPLE MATCHES "aix") + set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF) + else() + set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON) + endif() endif() llvm_ExternalProject_Add(builtins @@ -75,7 +79,7 @@ CMAKE_ARGS -DLLVM_LIBRARY_OUTPUT_INTDIR=${LLVM_LIBRARY_DIR} -DLLVM_RUNTIME_OUTPUT_INTDIR=${LLVM_TOOLS_BINARY_DIR} -DLLVM_DEFAULT_TARGET_TRIPLE=${LLVM_TARGET_TRIPLE} - -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default} + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR} -DCMAKE_C_COMPILER_WORKS=ON -DCMAKE_ASM_COMPILER_WORKS=ON ${COMMON_CMAKE_ARGS} @@ -216,10 +220,14 @@ list(APPEND test_targets runtimes-test-depends check-runtimes) endif() - set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default ON) - # AIX should fold 32-bit & 64-bit arch libraries into a single archive. - if (LLVM_TARGET_TRIPLE MATCHES "aix") - set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default OFF) + # May have been set by llvm/CMakeLists.txt. + if (NOT DEFINED LLVM_ENABLE_PER_TARGET_RUNTIME_DIR) + # AIX should fold 32-bit & 64-bit arch libraries into a single archive. + if (LLVM_TARGET_TRIPLE MATCHES "aix") + set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF) + else() + set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON) + endif() endif() llvm_ExternalProject_Add(runtimes @@ -230,7 +238,7 @@ -DLLVM_INCLUDE_TESTS=${LLVM_INCLUDE_TESTS} -DLLVM_DEFAULT_TARGET_TRIPLE=${LLVM_TARGET_TRIPLE} -DLLVM_ENABLE_PROJECTS_USED=${LLVM_ENABLE_PROJECTS_USED} - -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default} + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR} -DLLVM_BUILD_TOOLS=${LLVM_BUILD_TOOLS} -DCMAKE_C_COMPILER_WORKS=ON -DCMAKE_CXX_COMPILER_WORKS=ON