From: Arthur Eubanks Date: Thu, 23 Feb 2023 19:21:33 +0000 (-0800) Subject: [compiler-rt][CMake] Properly set COMPILER_RT_HAS_LLD X-Git-Tag: upstream/17.0.6~6610 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=395a614d2cb69a431bd11e266021d91503c1d709;p=platform%2Fupstream%2Fllvm.git [compiler-rt][CMake] Properly set COMPILER_RT_HAS_LLD LLVM_TOOL_LLD_BUILD is a relic of the pre-monorepo times. This causes us to never set COMPILER_RT_HAS_LLD. Instead, set it from the runtimes build if lld is being built and lld is used as the compiler-rt linker. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D144660 --- diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt index 6489aa1..80954df 100644 --- a/compiler-rt/CMakeLists.txt +++ b/compiler-rt/CMakeLists.txt @@ -738,14 +738,8 @@ if(COMPILER_RT_USE_LIBCXX) endif() endif() -set(COMPILER_RT_LLD_PATH ${LLVM_MAIN_SRC_DIR}/tools/lld) -if(EXISTS ${COMPILER_RT_LLD_PATH}/ AND LLVM_TOOL_LLD_BUILD) +if(COMPILER_RT_HAS_TRUNK_LLD AND LLVM_USE_LINKER STREQUAL "lld") set(COMPILER_RT_HAS_LLD TRUE) -else() - set(COMPILER_RT_LLD_PATH ${LLVM_MAIN_SRC_DIR}/../lld) - if(EXISTS ${COMPILER_RT_LLD_PATH}/ AND LLVM_TOOL_LLD_BUILD) - set(COMPILER_RT_HAS_LLD TRUE) - endif() endif() if(ANDROID) diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt index 75256c1..4f2c1a1 100644 --- a/llvm/runtimes/CMakeLists.txt +++ b/llvm/runtimes/CMakeLists.txt @@ -226,6 +226,10 @@ function(runtime_default_target) set_enable_per_target_runtime_dir() + if ("lld" IN_LIST LLVM_ENABLE_PROJECTS) + list(APPEND extra_args -DCOMPILER_RT_HAS_TRUNK_LLD=TRUE) + endif() + llvm_ExternalProject_Add(runtimes ${CMAKE_CURRENT_SOURCE_DIR}/../../runtimes DEPENDS ${ARG_DEPENDS} @@ -242,6 +246,7 @@ function(runtime_default_target) ${COMMON_CMAKE_ARGS} ${RUNTIMES_CMAKE_ARGS} ${ARG_CMAKE_ARGS} + ${extra_args} PASSTHROUGH_PREFIXES LLVM_ENABLE_RUNTIMES LLVM_USE_LINKER ${ARG_PREFIXES} @@ -334,6 +339,10 @@ function(runtime_register_target name) set_enable_per_target_runtime_dir() + if ("lld" IN_LIST LLVM_ENABLE_PROJECTS) + list(APPEND ${name}_extra_args -DCOMPILER_RT_HAS_TRUNK_LLD=TRUE) + endif() + llvm_ExternalProject_Add(runtimes-${name} ${CMAKE_CURRENT_SOURCE_DIR}/../../runtimes DEPENDS ${ARG_DEPENDS}