[compiler-rt][libunwind][runtimes] Recategorize llvm_check_linker_flag
langs
Done according to @phosek's comments in D117537, but not done then to separate pure refactor (that) from possible behavior change (this). Wasn't working before, but I think that was due to an issue of mismatched variable names fixed in D110005. Reviewed By: phosek, #libunwind, #libc_abi Differential Revision: https://reviews.llvm.org/D117833
This commit is contained in:
parent
6b0e2fa6f0
commit
d784ecfea9
@ -176,12 +176,12 @@ check_library_exists(c++ __cxa_throw "" COMPILER_RT_HAS_LIBCXX)
|
||||
check_library_exists(stdc++ __cxa_throw "" COMPILER_RT_HAS_LIBSTDCXX)
|
||||
|
||||
# Linker flags.
|
||||
llvm_check_compiler_linker_flag(CXX "-Wl,-z,text" COMPILER_RT_HAS_Z_TEXT)
|
||||
llvm_check_compiler_linker_flag(CXX "-fuse-ld=lld" COMPILER_RT_HAS_FUSE_LD_LLD_FLAG)
|
||||
llvm_check_compiler_linker_flag(C "-Wl,-z,text" COMPILER_RT_HAS_Z_TEXT)
|
||||
llvm_check_compiler_linker_flag(C "-fuse-ld=lld" COMPILER_RT_HAS_FUSE_LD_LLD_FLAG)
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
set(VERS_COMPAT_OPTION "-Wl,-z,gnu-version-script-compat")
|
||||
llvm_check_compiler_linker_flag(CXX "${VERS_COMPAT_OPTION}" COMPILER_RT_HAS_GNU_VERSION_SCRIPT_COMPAT)
|
||||
llvm_check_compiler_linker_flag(C "${VERS_COMPAT_OPTION}" COMPILER_RT_HAS_GNU_VERSION_SCRIPT_COMPAT)
|
||||
endif()
|
||||
|
||||
set(DUMMY_VERS ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/dummy.vers)
|
||||
@ -192,10 +192,10 @@ if(COMPILER_RT_HAS_GNU_VERSION_SCRIPT_COMPAT)
|
||||
# -z gnu-version-script-compat.
|
||||
string(APPEND VERS_OPTION " ${VERS_COMPAT_OPTION}")
|
||||
endif()
|
||||
llvm_check_compiler_linker_flag(CXX "${VERS_OPTION}" COMPILER_RT_HAS_VERSION_SCRIPT)
|
||||
llvm_check_compiler_linker_flag(C "${VERS_OPTION}" COMPILER_RT_HAS_VERSION_SCRIPT)
|
||||
|
||||
if(ANDROID)
|
||||
llvm_check_compiler_linker_flag(CXX "-Wl,-z,global" COMPILER_RT_HAS_Z_GLOBAL)
|
||||
llvm_check_compiler_linker_flag(C "-Wl,-z,global" COMPILER_RT_HAS_Z_GLOBAL)
|
||||
check_library_exists(log __android_log_write "" COMPILER_RT_HAS_LIBLOG)
|
||||
endif()
|
||||
|
||||
@ -456,7 +456,7 @@ if(APPLE)
|
||||
-lc++
|
||||
-lc++abi)
|
||||
|
||||
llvm_check_compiler_linker_flag(CXX "-fapplication-extension" COMPILER_RT_HAS_APP_EXTENSION)
|
||||
llvm_check_compiler_linker_flag(C "-fapplication-extension" COMPILER_RT_HAS_APP_EXTENSION)
|
||||
if(COMPILER_RT_HAS_APP_EXTENSION)
|
||||
list(APPEND DARWIN_COMMON_LINK_FLAGS "-fapplication-extension")
|
||||
endif()
|
||||
|
@ -31,7 +31,7 @@ endif()
|
||||
# required for the link to go through. We remove sanitizers from the
|
||||
# configuration checks to avoid spurious link errors.
|
||||
|
||||
llvm_check_compiler_linker_flag(C "-nostdlib++" CXX_SUPPORTS_NOSTDLIBXX_FLAG)
|
||||
llvm_check_compiler_linker_flag(CXX "-nostdlib++" CXX_SUPPORTS_NOSTDLIBXX_FLAG)
|
||||
if (CXX_SUPPORTS_NOSTDLIBXX_FLAG)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdlib++")
|
||||
else()
|
||||
|
@ -132,7 +132,7 @@ endif()
|
||||
# Check for -nostdlib++ first; if there's no C++ standard library yet,
|
||||
# all check_cxx_compiler_flag commands will fail until we add -nostdlib++
|
||||
# (or -nodefaultlibs).
|
||||
llvm_check_compiler_linker_flag(C "-nostdlib++" CXX_SUPPORTS_NOSTDLIBXX_FLAG)
|
||||
llvm_check_compiler_linker_flag(CXX "-nostdlib++" CXX_SUPPORTS_NOSTDLIBXX_FLAG)
|
||||
if (CXX_SUPPORTS_NOSTDLIBXX_FLAG)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdlib++")
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user