Index: runtimes/CMakeLists.txt =================================================================== --- runtimes/CMakeLists.txt +++ runtimes/CMakeLists.txt @@ -228,10 +228,6 @@ add_custom_target(builtins) add_custom_target(install-builtins) foreach(target ${LLVM_BUILTIN_TARGETS}) - if(target STREQUAL "default") - set(target ${LLVM_DEFAULT_TARGET_TRIPLE}) - endif() - string(REPLACE "-" ";" builtin_target_list ${target}) foreach(item ${builtin_target_list}) string(TOLOWER "${item}" item_lower) @@ -240,12 +236,21 @@ endif() endforeach() + if(target STREQUAL "default") + set(target ${LLVM_DEFAULT_TARGET_TRIPLE}) + endif() + foreach(variableName ${variableNames}) if(variableName MATCHES "^BUILTINS_${target}") string(REPLACE "BUILTINS_${target}_" "" new_name ${variableName}) list(APPEND ${target}_extra_args "-D${new_name}=${${variableName}}") endif() endforeach() + + if(NOT target STREQUAL LLVM_DEFAULT_TARGET_TRIPLE) + list(APPEND ${target}_extra_args "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON") + endif() + llvm_ExternalProject_Add(builtins-${target} ${CMAKE_CURRENT_SOURCE_DIR}/compiler-rt/lib/builtins CMAKE_ARGS -DLLVM_LIBRARY_OUTPUT_INTDIR=${LLVM_LIBRARY_DIR} @@ -254,7 +259,6 @@ -DCMAKE_ASM_COMPILER_TARGET=${target} -DCMAKE_C_COMPILER_WORKS=On -DCMAKE_ASM_COMPILER_WORKS=On - -DCOMPILER_RT_DEFAULT_TARGET_ONLY=On ${${target}_extra_args} TOOLCHAIN_TOOLS clang lld llvm-ar llvm-ranlib PASSTHROUGH_PREFIXES COMPILER_RT @@ -340,7 +344,9 @@ endforeach() if(NOT target STREQUAL LLVM_DEFAULT_TARGET_TRIPLE) - list(APPEND ${name}_extra_args "-DLLVM_RUNTIMES_TARGET=${name}") + list(APPEND ${name}_extra_args + "-DLLVM_RUNTIMES_TARGET=${name}" + "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON") endif() llvm_ExternalProject_Add(runtimes-${name} @@ -356,7 +362,6 @@ -DCMAKE_C_COMPILER_WORKS=ON -DCMAKE_CXX_COMPILER_WORKS=ON -DCMAKE_ASM_COMPILER_WORKS=ON - -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON ${${name}_extra_args} TOOLCHAIN_TOOLS clang lld llvm-ar llvm-ranlib PASSTHROUGH_PREFIXES ${prefixes}