diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt --- a/llvm/runtimes/CMakeLists.txt +++ b/llvm/runtimes/CMakeLists.txt @@ -260,13 +260,19 @@ 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 (TARGET_TRIPLE MATCHES "aix") + set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default OFF) + endif() + llvm_ExternalProject_Add(builtins ${compiler_rt_path}/lib/builtins DEPENDS ${ARG_DEPENDS} CMAKE_ARGS -DLLVM_LIBRARY_OUTPUT_INTDIR=${LLVM_LIBRARY_DIR} -DLLVM_RUNTIME_OUTPUT_INTDIR=${LLVM_TOOLS_BINARY_DIR} -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_TRIPLE} - -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default} -DCMAKE_C_COMPILER_TARGET=${TARGET_TRIPLE} -DCMAKE_ASM_COMPILER_TARGET=${TARGET_TRIPLE} -DCMAKE_C_COMPILER_WORKS=ON @@ -400,6 +406,12 @@ 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 (TARGET_TRIPLE MATCHES "aix") + set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default OFF) + endif() + llvm_ExternalProject_Add(runtimes ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS ${ARG_DEPENDS} ${CXX_HEADER_TARGET} @@ -408,7 +420,7 @@ -DLLVM_INCLUDE_TESTS=${LLVM_INCLUDE_TESTS} -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_TRIPLE} -DLLVM_ENABLE_PROJECTS_USED=${LLVM_ENABLE_PROJECTS_USED} - -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default} -DCMAKE_C_COMPILER_TARGET=${TARGET_TRIPLE} -DCMAKE_CXX_COMPILER_TARGET=${TARGET_TRIPLE} -DCMAKE_ASM_COMPILER_TARGET=${TARGET_TRIPLE}