[compiler-rt] compiler-rt: Stop using APPLE cmake variable (PR #203357)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 11 10:57:39 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-pgo
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
Use a variable derived from the target triple instead.
This is a partial fix for cross compiling the GPU runtimes
on macos. Previously on mac hosts, the build system would go
down completely wrong paths. This improves the situation by
moving the failures to compilation pulling in host flags which
shouldn't be forwarded.
Despite the cmake documentation claiming the APPLE constant
is "Set to True when the target system is an Apple platform",
this appears to be true when the host is apple. Not sure if this
is worth reporting as a cmake bug, or if it's an artifact of some
runtimes build specifics. Presumably the same bug exists for the various
WIN32 and ANDROID checks around, there are just fewer of them.
---
Patch is 52.28 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/203357.diff
50 Files Affected:
- (modified) compiler-rt/CMakeLists.txt (+8-8)
- (modified) compiler-rt/cmake/Modules/AddCompilerRT.cmake (+9-9)
- (modified) compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake (+3-3)
- (modified) compiler-rt/cmake/Modules/CompilerRTCompile.cmake (+2-2)
- (modified) compiler-rt/cmake/Modules/CompilerRTUtils.cmake (+8-2)
- (modified) compiler-rt/cmake/base-config-ix.cmake (+8-9)
- (modified) compiler-rt/cmake/builtin-config-ix.cmake (+2-2)
- (modified) compiler-rt/cmake/config-ix.cmake (+6-6)
- (modified) compiler-rt/cmake/crt-config-ix.cmake (+1-1)
- (modified) compiler-rt/lib/asan/CMakeLists.txt (+4-4)
- (modified) compiler-rt/lib/asan/tests/CMakeLists.txt (+6-6)
- (modified) compiler-rt/lib/asan_abi/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/builtins/CMakeLists.txt (+7-7)
- (modified) compiler-rt/lib/fuzzer/tests/CMakeLists.txt (+3-3)
- (modified) compiler-rt/lib/interception/tests/CMakeLists.txt (+3-3)
- (modified) compiler-rt/lib/lsan/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/nsan/CMakeLists.txt (+2-2)
- (modified) compiler-rt/lib/orc/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/orc/tests/CMakeLists.txt (+3-3)
- (modified) compiler-rt/lib/profile/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/rtsan/CMakeLists.txt (+2-2)
- (modified) compiler-rt/lib/rtsan/tests/CMakeLists.txt (+3-3)
- (modified) compiler-rt/lib/sanitizer_common/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt (+4-4)
- (modified) compiler-rt/lib/stats/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/tsan/dd/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/tsan/rtl/CMakeLists.txt (+2-2)
- (modified) compiler-rt/lib/tsan/tests/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/tysan/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/ubsan/CMakeLists.txt (+2-2)
- (modified) compiler-rt/lib/ubsan_minimal/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/xray/CMakeLists.txt (+1-1)
- (modified) compiler-rt/lib/xray/tests/CMakeLists.txt (+4-4)
- (modified) compiler-rt/test/asan/CMakeLists.txt (+4-4)
- (modified) compiler-rt/test/asan_abi/CMakeLists.txt (+2-2)
- (modified) compiler-rt/test/builtins/CMakeLists.txt (+3-3)
- (modified) compiler-rt/test/cfi/CMakeLists.txt (+4-4)
- (modified) compiler-rt/test/dfsan/CMakeLists.txt (+1-1)
- (modified) compiler-rt/test/fuzzer/CMakeLists.txt (+3-3)
- (modified) compiler-rt/test/interception/CMakeLists.txt (+1-1)
- (modified) compiler-rt/test/lsan/CMakeLists.txt (+1-1)
- (modified) compiler-rt/test/msan/CMakeLists.txt (+2-2)
- (modified) compiler-rt/test/profile/CMakeLists.txt (+1-1)
- (modified) compiler-rt/test/rtsan/CMakeLists.txt (+1-1)
- (modified) compiler-rt/test/safestack/CMakeLists.txt (+1-1)
- (modified) compiler-rt/test/sanitizer_common/CMakeLists.txt (+2-2)
- (modified) compiler-rt/test/tsan/CMakeLists.txt (+3-3)
- (modified) compiler-rt/test/tysan/CMakeLists.txt (+1-1)
- (modified) compiler-rt/test/ubsan/CMakeLists.txt (+5-5)
- (modified) compiler-rt/test/ubsan_minimal/CMakeLists.txt (+1-1)
``````````diff
diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt
index 115d953e456c9..732e7d5271d3b 100644
--- a/compiler-rt/CMakeLists.txt
+++ b/compiler-rt/CMakeLists.txt
@@ -141,7 +141,7 @@ if (COMPILER_RT_STANDALONE_BUILD)
endif()
# Ensure that fat libraries are built correctly on Darwin
- if(APPLE)
+ if(COMPILER_RT_TARGET_APPLE)
include(UseLibtool)
endif()
@@ -193,7 +193,7 @@ option(COMPILER_RT_INTERCEPT_LIBDISPATCH
"Support interception of libdispatch (GCD). Requires '-fblocks'" OFF)
option(COMPILER_RT_LIBDISPATCH_INSTALL_PATH
"Specify if libdispatch is installed in a custom location" "")
-if (COMPILER_RT_INTERCEPT_LIBDISPATCH AND NOT APPLE)
+if (COMPILER_RT_INTERCEPT_LIBDISPATCH AND NOT COMPILER_RT_TARGET_APPLE)
set(COMPILER_RT_LIBDISPATCH_CFLAGS -fblocks)
set(COMPILER_RT_TEST_LIBDISPATCH_CFLAGS)
if (COMPILER_RT_LIBDISPATCH_INSTALL_PATH)
@@ -204,12 +204,12 @@ if (COMPILER_RT_INTERCEPT_LIBDISPATCH AND NOT APPLE)
endif()
list(APPEND COMPILER_RT_TEST_LIBDISPATCH_CFLAGS -lBlocksRuntime -ldispatch)
endif()
-if (APPLE) # Always enable on Apple platforms.
+if (COMPILER_RT_TARGET_APPLE) # Always enable on Apple platforms.
set(COMPILER_RT_INTERCEPT_LIBDISPATCH ON)
endif()
pythonize_bool(COMPILER_RT_INTERCEPT_LIBDISPATCH)
-if(APPLE AND SANITIZER_MIN_OSX_VERSION AND SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.9")
+if(COMPILER_RT_TARGET_APPLE AND SANITIZER_MIN_OSX_VERSION AND SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.9")
# Mac OS X prior to 10.9 had problems with exporting symbols from
# libc++/libc++abi.
set(cxxabi_supported OFF)
@@ -231,7 +231,7 @@ macro(handle_default_cxx_lib var)
set(${var}_LIBNAME "${CMAKE_MATCH_1}")
set(${var}_SYSTEM 1)
elseif (${var} STREQUAL "default")
- if (APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
+ if (COMPILER_RT_TARGET_APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
set(${var}_LIBNAME "libc++")
set(${var}_SYSTEM 1)
elseif (FUCHSIA)
@@ -398,7 +398,7 @@ if(NOT WIN32)
endif()
append_list_if(COMPILER_RT_HAS_FNO_BUILTIN_FLAG -fno-builtin SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG -fno-exceptions SANITIZER_COMMON_CFLAGS)
-if(NOT COMPILER_RT_DEBUG AND NOT APPLE)
+if(NOT COMPILER_RT_DEBUG AND NOT COMPILER_RT_TARGET_APPLE)
append_list_if(COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG -fomit-frame-pointer SANITIZER_COMMON_CFLAGS)
endif()
append_list_if(COMPILER_RT_HAS_FUNWIND_TABLES_FLAG -funwind-tables SANITIZER_COMMON_CFLAGS)
@@ -522,7 +522,7 @@ endif()
# in cflags during testing. This fixes the compiler/linker version mismatch
# issue when running a clang built with a newer Xcode in an older Xcode
set(COMPILER_RT_DARWIN_LINKER_VERSION)
-if (APPLE AND NOT CMAKE_LINKER MATCHES ".*lld.*")
+if (COMPILER_RT_TARGET_APPLE AND NOT CMAKE_LINKER MATCHES ".*lld.*")
get_darwin_linker_version(COMPILER_RT_DARWIN_LINKER_VERSION)
message(STATUS "Host linker version: ${COMPILER_RT_DARWIN_LINKER_VERSION}")
endif()
@@ -540,7 +540,7 @@ if(MSVC)
string(REGEX REPLACE "(^| )/Z[i7I]($| )" " /Z7 "
"${var_to_update}" "${${var_to_update}}")
endforeach()
-elseif("${COMPILER_RT_DEFAULT_TARGET_TRIPLE}" MATCHES "apple")
+elseif(COMPILER_RT_TARGET_APPLE)
# On Apple platforms use full debug info (i.e. not `-gline-tables-only`)
# for all build types so that the runtime can be debugged.
if(NOT COMPILER_RT_HAS_G_FLAG)
diff --git a/compiler-rt/cmake/Modules/AddCompilerRT.cmake b/compiler-rt/cmake/Modules/AddCompilerRT.cmake
index 2ae73dfb433e2..531aa732e35af 100644
--- a/compiler-rt/cmake/Modules/AddCompilerRT.cmake
+++ b/compiler-rt/cmake/Modules/AddCompilerRT.cmake
@@ -39,7 +39,7 @@ function(add_compiler_rt_object_libraries name)
cmake_parse_arguments(LIB "" "" "OS;ARCHS;SOURCES;CFLAGS;DEFS;DEPS;ADDITIONAL_HEADERS"
${ARGN})
set(libnames)
- if(APPLE)
+ if(COMPILER_RT_TARGET_APPLE)
foreach(os ${LIB_OS})
set(libname "${name}.${os}")
set(libnames ${libnames} ${libname})
@@ -73,12 +73,12 @@ function(add_compiler_rt_object_libraries name)
# Strip out -msse3 if this isn't macOS.
set(target_flags ${LIB_CFLAGS})
- if(APPLE AND NOT "${libname}" MATCHES ".*\.osx.*")
+ if(COMPILER_RT_TARGET_APPLE AND NOT "${libname}" MATCHES ".*\.osx.*")
list(REMOVE_ITEM target_flags "-msse3")
endif()
# Build the macOS sanitizers with Mac Catalyst support.
- if (APPLE AND
+ if (COMPILER_RT_TARGET_APPLE AND
"${COMPILER_RT_ENABLE_MACCATALYST}" AND
"${libname}" MATCHES ".*\.osx.*")
foreach(arch ${LIB_ARCHS_${libname}})
@@ -92,7 +92,7 @@ function(add_compiler_rt_object_libraries name)
set_property(TARGET ${libname} APPEND PROPERTY
COMPILE_DEFINITIONS ${LIB_DEFS})
set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT/Libraries")
- if(APPLE)
+ if(COMPILER_RT_TARGET_APPLE)
set_target_properties(${libname} PROPERTIES
OSX_ARCHITECTURES "${LIB_ARCHS_${libname}}")
endif()
@@ -219,7 +219,7 @@ function(add_compiler_rt_runtime name type)
)
endif()
- if(APPLE)
+ if(COMPILER_RT_TARGET_APPLE)
foreach(os ${LIB_OS})
# Strip out -msse3 if this isn't macOS.
list(LENGTH LIB_CFLAGS HAS_EXTRA_CFLAGS)
@@ -395,7 +395,7 @@ function(add_compiler_rt_runtime name type)
target_link_libraries(${libname} PRIVATE ${builtins_${libname}})
endif()
if(${type} STREQUAL "SHARED")
- if(APPLE OR WIN32)
+ if(COMPILER_RT_TARGET_APPLE OR WIN32)
set_property(TARGET ${libname} PROPERTY BUILD_WITH_INSTALL_RPATH ON)
endif()
if(WIN32 AND NOT CYGWIN AND NOT MINGW)
@@ -406,7 +406,7 @@ function(add_compiler_rt_runtime name type)
endif()
endif()
find_program(CODESIGN codesign)
- if (APPLE AND NOT CMAKE_LINKER MATCHES ".*lld.*" AND CODESIGN)
+ if (COMPILER_RT_TARGET_APPLE AND NOT CMAKE_LINKER MATCHES ".*lld.*" AND CODESIGN)
# Apple's linker signs the resulting dylib with an ad-hoc code signature in
# most situations, except:
# 1. Versions of ld64 prior to ld64-609 in Xcode 12 predate this behavior.
@@ -445,7 +445,7 @@ function(add_compiler_rt_runtime name type)
endif()
add_compiler_rt_install_targets(${libname} ${parent_target_arg})
- if(APPLE)
+ if(COMPILER_RT_TARGET_APPLE)
set_target_properties(${libname} PROPERTIES
OSX_ARCHITECTURES "${LIB_ARCHS_${libname}}")
endif()
@@ -797,7 +797,7 @@ function(rt_externalize_debuginfo name)
set(strip_command COMMAND xcrun strip -Sl $<TARGET_FILE:${name}>)
endif()
- if(APPLE)
+ if(COMPILER_RT_TARGET_APPLE)
if(CMAKE_CXX_FLAGS MATCHES "-flto"
OR CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE} MATCHES "-flto")
diff --git a/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake b/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
index a535cf9e3a8da..aaec5f7979db4 100644
--- a/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
+++ b/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
@@ -31,7 +31,7 @@ if (COMPILER_RT_PROFILE_BAREMETAL)
)
endif()
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
set(ARM64 arm64)
set(ARM32 armv7 armv7s armv7k)
set(ARM64_32 arm64_32)
@@ -79,7 +79,7 @@ else()
endif()
set(ALL_GWP_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${HEXAGON})
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64})
else()
set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64} ${ARM32}
@@ -118,7 +118,7 @@ set(ALL_CFI_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${MIPS64}
${HEXAGON} ${LOONGARCH64})
set(ALL_SCUDO_STANDALONE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
${MIPS32} ${MIPS64} ${PPC64} ${HEXAGON} ${LOONGARCH64} ${RISCV64} ${S390X})
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
set(ALL_XRAY_SUPPORTED_ARCH ${X86_64} ${ARM64})
else()
set(ALL_XRAY_SUPPORTED_ARCH ${X86_64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64}
diff --git a/compiler-rt/cmake/Modules/CompilerRTCompile.cmake b/compiler-rt/cmake/Modules/CompilerRTCompile.cmake
index aa50f71ce472a..72d19ca950e2b 100644
--- a/compiler-rt/cmake/Modules/CompilerRTCompile.cmake
+++ b/compiler-rt/cmake/Modules/CompilerRTCompile.cmake
@@ -89,7 +89,7 @@ function(clang_compile object_file source)
translate_msvc_cflags(global_flags "${global_flags}")
endif()
- if (APPLE)
+ if (COMPILER_RT_TARGET_APPLE)
set(global_flags ${OSX_SYSROOT_FLAG} ${global_flags})
endif()
@@ -135,7 +135,7 @@ endfunction()
# it.
# On other platforms, this is currently not an issue.
macro(clang_compiler_add_cxx_check)
- if (APPLE)
+ if (COMPILER_RT_TARGET_APPLE)
set(CMD
"echo '#include <iostream>' | ${COMPILER_RT_TEST_COMPILER} ${OSX_SYSROOT_FLAG} -E -x c++ - > /dev/null"
"if [ $? != 0 ] "
diff --git a/compiler-rt/cmake/Modules/CompilerRTUtils.cmake b/compiler-rt/cmake/Modules/CompilerRTUtils.cmake
index 75216ed704bce..eb83b511164b1 100644
--- a/compiler-rt/cmake/Modules/CompilerRTUtils.cmake
+++ b/compiler-rt/cmake/Modules/CompilerRTUtils.cmake
@@ -425,6 +425,12 @@ macro(construct_compiler_rt_default_triple)
set(COMPILER_RT_TARGET_AMDGPU FALSE)
endif()
+ if("${COMPILER_RT_DEFAULT_TARGET_TRIPLE}" MATCHES "apple")
+ set(COMPILER_RT_TARGET_APPLE TRUE)
+ else()
+ set(COMPILER_RT_TARGET_APPLE FALSE)
+ endif()
+
# If we are directly targeting a GPU we need to check that the compiler is
# compatible and pass some default arguments.
if(COMPILER_RT_DEFAULT_TARGET_ONLY)
@@ -501,7 +507,7 @@ endfunction()
function(get_compiler_rt_install_dir arch install_dir)
# TODO: Use RUNTIMES_INSTALL_RESOURCE_LIB_PATH instead
- if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT COMPILER_RT_TARGET_APPLE)
get_compiler_rt_target(${arch} target)
set(${install_dir} ${COMPILER_RT_INSTALL_LIBRARY_DIR}/${target} PARENT_SCOPE)
else()
@@ -511,7 +517,7 @@ endfunction()
function(get_compiler_rt_output_dir arch output_dir)
# TODO: Use RUNTIMES_OUTPUT_RESOURCE_LIB_DIR instead
- if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT COMPILER_RT_TARGET_APPLE)
get_compiler_rt_target(${arch} target)
set(${output_dir} ${COMPILER_RT_OUTPUT_LIBRARY_DIR}/${target} PARENT_SCOPE)
else()
diff --git a/compiler-rt/cmake/base-config-ix.cmake b/compiler-rt/cmake/base-config-ix.cmake
index 1b66dec9a6c03..eae8050792402 100644
--- a/compiler-rt/cmake/base-config-ix.cmake
+++ b/compiler-rt/cmake/base-config-ix.cmake
@@ -123,13 +123,13 @@ if(NOT DEFINED COMPILER_RT_OS_DIR)
endif()
# TODO: Use common runtimes infrastructure for output and install paths
-if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT COMPILER_RT_TARGET_APPLE)
set(COMPILER_RT_OUTPUT_LIBRARY_DIR
${COMPILER_RT_OUTPUT_DIR}/lib)
extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib)
set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
"Path where built compiler-rt libraries should be installed.")
-else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT COMPILER_RT_TARGET_APPLE)
set(COMPILER_RT_OUTPUT_LIBRARY_DIR
${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}")
@@ -146,7 +146,7 @@ extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_
set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH
"Path where compiler-rt data files should be installed.")
-if(APPLE)
+macro(detect_darwin_sdk)
# On Darwin if /usr/include/c++ doesn't exist, the user probably has Xcode but
# not the command line tools (or is using macOS 10.14 or newer). If this is
# the case, we need to find the OS X sysroot to pass to clang.
@@ -186,8 +186,9 @@ if(APPLE)
option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off)
option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
option(COMPILER_RT_ENABLE_XROS "Enable building for xrOS - Experimental" Off)
+endmacro()
-else()
+if(NOT COMPILER_RT_TARGET_APPLE)
option(COMPILER_RT_DEFAULT_TARGET_ONLY "Build builtins only for the default target" Off)
endif()
@@ -201,10 +202,8 @@ if(WIN32 AND NOT MINGW AND NOT CYGWIN)
endif()
macro(test_targets)
- if("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "amdgpu|amdgcn")
- set(COMPILER_RT_TARGET_AMDGPU TRUE)
- else()
- set(COMPILER_RT_TARGET_AMDGPU FALSE)
+ if(COMPILER_RT_TARGET_APPLE)
+ detect_darwin_sdk()
endif()
# Find and run MSVC (not clang-cl) and get its version. This will tell clang-cl
@@ -235,7 +234,7 @@ macro(test_targets)
# Examine compiler output to determine target architecture.
detect_target_arch()
set(COMPILER_RT_OS_SUFFIX "-android")
- elseif(NOT APPLE) # Supported archs for Apple platforms are generated later
+ elseif(NOT COMPILER_RT_TARGET_APPLE) # Supported archs for Apple platforms are generated later
if(COMPILER_RT_DEFAULT_TARGET_ONLY)
add_default_target_arch(${COMPILER_RT_DEFAULT_TARGET_ARCH})
elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
diff --git a/compiler-rt/cmake/builtin-config-ix.cmake b/compiler-rt/cmake/builtin-config-ix.cmake
index 07955f3340d0a..02416800b21b5 100644
--- a/compiler-rt/cmake/builtin-config-ix.cmake
+++ b/compiler-rt/cmake/builtin-config-ix.cmake
@@ -101,7 +101,7 @@ set(WASM64 wasm64)
set(VE ve)
set(M68K m68k)
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
set(ARM64 arm64 arm64e)
set(ARM32 armv7 armv7k armv7s)
set(X86_64 x86_64 x86_64h)
@@ -116,7 +116,7 @@ set(ALL_BUILTIN_SUPPORTED_ARCH
include(CompilerRTUtils)
include(CompilerRTDarwinUtils)
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx)
if(COMPILER_RT_ENABLE_IOS)
diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake
index 083f1c98d0f16..eedf709926a7f 100644
--- a/compiler-rt/cmake/config-ix.cmake
+++ b/compiler-rt/cmake/config-ix.cmake
@@ -227,7 +227,7 @@ if(COMPILER_RT_HAS_GNU_VERSION_SCRIPT_COMPAT)
endif()
llvm_check_compiler_linker_flag(C "${VERS_OPTION}" COMPILER_RT_HAS_VERSION_SCRIPT)
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
llvm_check_compiler_linker_flag(C "-Wl,-mac_public_arm64e" COMPILER_RT_HAS_MAC_PUBLIC_ARM64E)
endif()
@@ -265,7 +265,7 @@ function(get_target_flags_for_arch arch out_var)
if(ARCH_INDEX EQUAL -1)
message(FATAL_ERROR "Unsupported architecture: ${arch}")
else()
- if (NOT APPLE)
+ if (NOT COMPILER_RT_TARGET_APPLE)
set(${out_var} ${TARGET_${arch}_CFLAGS} PARENT_SCOPE)
else()
# This is only called in constructing cflags for tests executing on the
@@ -309,14 +309,14 @@ macro(get_test_cc_for_arch arch cc_out cflags_out)
if (NOT ${ARGC} EQUAL 3)
message(FATAL_ERROR "got too many args. expected 3, got ${ARGC} (namely: ${ARGV})")
endif()
- if(ANDROID OR (NOT APPLE AND ${arch} MATCHES "arm|aarch64|riscv32|riscv64"))
+ if(ANDROID OR (NOT COMPILER_RT_TARGET_APPLE AND ${arch} MATCHES "arm|aarch64|riscv32|riscv64"))
# This is only true if we are cross-compiling.
# Build all tests with host compiler and use host tools.
set(${cc_out} ${COMPILER_RT_TEST_COMPILER})
set(${cflags_out} ${COMPILER_RT_TEST_COMPILER_CFLAGS})
else()
get_target_flags_for_arch(${arch} ${cflags_out})
- if(APPLE)
+ if(COMPILER_RT_TARGET_APPLE)
list(APPEND ${cflags_out} ${DARWIN_osx_CFLAGS})
endif()
string(REPLACE ";" " " ${cflags_out} "${${cflags_out}}")
@@ -416,7 +416,7 @@ endfunction()
include(AllSupportedArchDefs)
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
include(CompilerRTDarwinUtils)
find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx)
@@ -785,7 +785,7 @@ else()
set(COMPILER_RT_HAS_INTERCEPTION FALSE)
endif()
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND ASAN_SUPPORTED_ARCH AND APPLE)
+if (COMPILER_RT_HAS_SANITIZER_COMMON AND ASAN_SUPPORTED_ARCH AND COMPILER_RT_TARGET_APPLE)
set(COMPILER_RT_HAS_ASAN_ABI TRUE)
else()
set(COMPILER_RT_HAS_ASAN_ABI FALSE)
diff --git a/compiler-rt/cmake/crt-config-ix.cmake b/compiler-rt/cmake/crt-config-ix.cmake
index ebc7d671e74ee..248381f163f93 100644
--- a/compiler-rt/cmake/crt-config-ix.cmake
+++ b/compiler-rt/cmake/crt-config-ix.cmake
@@ -38,7 +38,7 @@ set(ALL_CRT_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC32}
include(CompilerRTUtils)
-if(NOT APPLE)
+if(NOT COMPILER_RT_TARGET_APPLE)
if(COMPILER_RT_CRT_STANDALONE_BUILD)
test_targets()
endif()
diff --git a/compiler-rt/lib/asan/CMakeLists.txt b/compiler-rt/lib/asan/CMakeLists.txt
index 6d25cdc367742..1adc296666db6 100644
--- a/compiler-rt/lib/asan/CMakeLists.txt
+++ b/compiler-rt/lib/asan/CMakeLists.txt
@@ -47,7 +47,7 @@ if(WIN32)
)
endif()
-if (NOT WIN32 AND NOT APPLE)
+if (NOT WIN32 AND NOT COMPILER_RT_TARGET_APPLE)
list(APPEND ASAN_SOURCES
asan_interceptors_vfork.S
)
@@ -61,7 +61,7 @@ set(ASAN_STATIC_SOURCES
asan_rtl_static.cpp
)
-if ("x86_64" IN_LIST ASAN_SUPPORTED_ARCH AND NOT WIN32 AND NOT APPLE)
+if ("x86_64" IN_LIST ASAN_SUPPORTED_ARCH AND NOT WIN32 AND NOT COMPILER_RT_TARGET_APPLE)
list(APPEND ASAN_STATIC_SOURCES
asan_rtl_x86_64.S
)
@@ -235,7 +235,7 @@ add_compiler_rt_object_libraries(RTAsan_dynamic_cxx
DEFS ${ASAN_DYNAMIC_DEFINITIONS}
DEPS ${ASAN_CXX_DEPS})
-if(NOT APPLE)
+if(NOT COMPILER_RT_TARGET_APPLE)
add_compiler_rt_object_libraries(RTAsan
ARCHS ${ASAN_SUPPORTED_ARCH}
SOURCES ${ASAN_SOURCES}
@@ -273,7 +273,7 @@ endif()
# Build ASan runtimes shipped with Clang.
add_compiler_rt_component(asan)
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
add_weak_symbols("asan" WEAK_SYMBOL_LINK_FLAGS)
add_weak_symbols("lsan" WEAK_SYMBOL_LINK_FLAGS)
add_weak_symbols("ubsan" WEAK_SYMBOL_LINK_FLAGS)
diff --git a/compiler-rt/lib/asan/tests/CMakeLists.txt b/compiler-rt/lib/asan/tests/CMakeLists.txt
index 6d88c96a23bbc..12bd120963ce0 100644
--- a/compiler-rt/lib/asan/tests/CMakeLists.txt
+++ b/compiler-rt/lib/asan/tests/CMakeLists.txt
@@ -60,7 +60,7 @@ list(APPEND ASAN_UNITTEST_COMMON_CFLAGS
-DASAN_UAR=0
)
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
list(APPEND ASAN_UNITTEST_COMMON_CFLAGS ${DARWIN_osx_CFLAGS})
list(APPEND ASAN_UNITTEST_COMMON_LINK_FLAGS ${DARWIN_osx_LINK_FLAGS})
@@ -86,7 +86,7 @@ if(CMAKE_SYSTEM MATCHES "FreeBSD-9.2-RELEASE")
endif()
# Unit tests on Mac depend on Foundation.
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
list(APPEND ASAN_UNITTEST_COMMON_LINK_FLAGS -framework Foundation)
endif()
if(ANDROID)
@@ -105,7 +105,7 @@ set(ASAN_UNITTEST_INSTRUMENTED_LIBS)
set(ASAN_UNITTEST_NOINST_LINK_FLAGS ${ASAN_UNITTEST_COMMON_LINK_FLAGS})
append_list_if(MSVC -Wl,-nodefaultlib:msvcrt ASAN_UNITTEST_NOINST_LINK_FLAGS)
-if(NOT APPLE)
+if(NOT COMPILER_RT_TARGET_APPLE)
append_list_if(COMPILER_RT_HAS_LIBM -lm ASAN_UNITTEST_NOINST_LINK_FLAGS)
append_list_if(COMPILER_RT_HAS_LIBDL -ldl ASAN_UNITTEST_NOINST_LINK_FLAGS)
append_list_if(COMPILER_RT_HAS_LIBRT -lrt ASAN_UNITTEST_NOINST_LINK_FLAGS)
@@ -148,7 +148,7 @@ set(ASAN_INST_TEST_SOURCES
asan_str_test.cpp
asan_test_main.cpp
)
-if(APPLE)
+if(COMPILER_RT_TARGET_APPLE)
list(APPEND ASAN_INST_TEST_SOURCES
asan_mac_test.cpp
asan_mac_test_helpers.mm
@@ -252,7 +252,7 @@ endfunction()
if(COMPILER_RT_CAN_EXECUTE_TESTS AND NOT ANDROID)
set(ASAN_TEST_ARCH ${ASAN_SUPPORTED_ARCH})
- if(APPLE)
+ if(COMPILER_RT_TARGET_APPLE)
darwin_filter_host_archs(ASAN_SUPPORTED_ARCH ASAN_TEST_ARCH)
endif()
list(REMOVE_ITEM ASAN_TEST_ARCH sparcv9)
@@ -264,7 +264,7 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS AND NOT ANDROID)
# Add static ASan runtime that will be linked with uninstrumented tests.
set(ASAN_TEST_RUNTIME RTAsanTest.${arch})
- if(APPLE)
+ if(COMPILER_RT_TARGET_APPLE)
set(ASAN_TEST_RUNTIME_OBJECTS
$<TARGET_OBJECTS:RTAsan_dynamic.osx>
$<TARGET_OBJECTS:RTInterception.osx>
diff --git a/compiler-rt/lib/asan_abi/CMakeLists.txt b/compiler-rt/lib/asan_abi/CMakeLists.txt
index ffb17eed5f71a..cf62962a843b6 100644
--- a/c...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/203357
More information about the llvm-commits
mailing list