[Fuchsia][cmake] Avoid referencing cxx_shared in compiler-rt (#112257)
After https://github.com/llvm/llvm-project/pull/80007 Fuchsia builds are now always building cxx_shared for arm64 and x64 Linux. Ultimately, this is because the LIBCXX_ENABLE_SHARED is not used in compiler-rt to select the correct libc++ target, and because cxx_shared is now always defined, it is selected as a dependency when building runtimes tests. --------- Co-authored-by: Petr Hosek <phosek@google.com>
This commit is contained in:
parent
9cc6e6f71c
commit
c4131cb56c
@ -621,7 +621,7 @@ if(COMPILER_RT_USE_LLVM_UNWINDER)
|
||||
if (COMPILER_RT_ENABLE_STATIC_UNWINDER)
|
||||
list(APPEND COMPILER_RT_UNWINDER_LINK_LIBS "$<TARGET_LINKER_FILE:unwind_static>")
|
||||
else()
|
||||
list(APPEND COMPILER_RT_UNWINDER_LINK_LIBS "$<TARGET_LINKER_FILE:$<IF:$<TARGET_EXISTS:unwind_shared>,unwind_shared,unwind_static>>")
|
||||
list(APPEND COMPILER_RT_UNWINDER_LINK_LIBS "$<TARGET_LINKER_FILE:$<IF:$<BOOL:${LIBUNWIND_ENABLE_SHARED}>,unwind_shared,unwind_static>>")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -634,7 +634,7 @@ if (COMPILER_RT_CXX_LIBRARY STREQUAL "libcxx")
|
||||
if (COMPILER_RT_STATIC_CXX_LIBRARY)
|
||||
set(COMPILER_RT_CXX_LINK_LIBS "$<TARGET_LINKER_FILE:cxx_static>")
|
||||
else()
|
||||
set(COMPILER_RT_CXX_LINK_LIBS "$<TARGET_LINKER_FILE:$<IF:$<TARGET_EXISTS:cxx_shared>,cxx_shared,cxx_static>>")
|
||||
set(COMPILER_RT_CXX_LINK_LIBS "$<TARGET_LINKER_FILE:$<IF:$<BOOL:${LIBCXX_ENABLE_SHARED}>,cxx_shared,cxx_static>>")
|
||||
endif()
|
||||
elseif (COMPILER_RT_CXX_LIBRARY STREQUAL "none")
|
||||
# We aren't using any C++ standard library so avoid including the default one.
|
||||
@ -676,7 +676,7 @@ if (SANITIZER_TEST_CXX_LIBNAME STREQUAL "libc++")
|
||||
if (SANITIZER_USE_STATIC_TEST_CXX)
|
||||
list(APPEND SANITIZER_TEST_CXX_LIBRARIES "$<TARGET_LINKER_FILE:cxx_static>")
|
||||
else()
|
||||
list(APPEND SANITIZER_TEST_CXX_LIBRARIES "$<TARGET_LINKER_FILE:$<IF:$<TARGET_EXISTS:cxx_shared>,cxx_shared,cxx_static>>")
|
||||
list(APPEND SANITIZER_TEST_CXX_LIBRARIES "$<TARGET_LINKER_FILE:$<IF:$<BOOL:${LIBCXX_ENABLE_SHARED}>,cxx_shared,cxx_static>>")
|
||||
endif()
|
||||
# We are using the in tree libc++ so avoid including the default one.
|
||||
append_list_if(COMPILER_RT_HAS_NOSTDINCXX_FLAG -nostdinc++ COMPILER_RT_UNITTEST_CFLAGS)
|
||||
|
@ -73,10 +73,10 @@ endmacro()
|
||||
|
||||
test_fuzzer("default")
|
||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||||
if(TARGET cxx_shared)
|
||||
if(LIBCXX_ENABLE_SHARED)
|
||||
test_fuzzer("libc++" DEPS cxx_shared)
|
||||
endif()
|
||||
if(TARGET cxx_static)
|
||||
if(LIBCXX_ENABLE_STATIC)
|
||||
test_fuzzer("static-libc++" DEPS cxx_static)
|
||||
endif()
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user