summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/Modules/CompilerRTDarwinUtils.cmake5
-rw-r--r--cmake/builtin-config-ix.cmake58
2 files changed, 32 insertions, 31 deletions
diff --git a/cmake/Modules/CompilerRTDarwinUtils.cmake b/cmake/Modules/CompilerRTDarwinUtils.cmake
index b50d55b56..969050bf9 100644
--- a/cmake/Modules/CompilerRTDarwinUtils.cmake
+++ b/cmake/Modules/CompilerRTDarwinUtils.cmake
@@ -94,7 +94,8 @@ function(darwin_test_archs os valid_archs)
set(arch_linker_flags "-arch ${arch} ${os_linker_flags}")
if(TEST_COMPILE_ONLY)
- try_compile_only(CAN_TARGET_${os}_${arch} FLAGS -v -arch ${arch} ${DARWIN_${os}_CFLAGS})
+ # `-w` is used to surpress compiler warnings which `try_compile_only()` treats as an error.
+ try_compile_only(CAN_TARGET_${os}_${arch} FLAGS -v -arch ${arch} ${DARWIN_${os}_CFLAGS} -w)
else()
set(SAVED_CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${arch_linker_flags}")
@@ -282,7 +283,7 @@ macro(darwin_add_builtin_libraries)
../profile/InstrProfilingPlatformDarwin
../profile/InstrProfilingWriter)
foreach (os ${ARGN})
- list_intersect(DARWIN_BUILTIN_ARCHS DARWIN_${os}_ARCHS BUILTIN_SUPPORTED_ARCH)
+ list_intersect(DARWIN_BUILTIN_ARCHS DARWIN_${os}_BUILTIN_ARCHS BUILTIN_SUPPORTED_ARCH)
foreach (arch ${DARWIN_BUILTIN_ARCHS})
darwin_find_excluded_builtins_list(${arch}_${os}_EXCLUDED_BUILTINS
OS ${os}
diff --git a/cmake/builtin-config-ix.cmake b/cmake/builtin-config-ix.cmake
index 3e8c1fe74..cd8e6fa9c 100644
--- a/cmake/builtin-config-ix.cmake
+++ b/cmake/builtin-config-ix.cmake
@@ -64,6 +64,7 @@ if(APPLE)
set(DARWIN_osx_BUILTIN_MIN_VER 10.5)
set(DARWIN_osx_BUILTIN_MIN_VER_FLAG
-mmacosx-version-min=${DARWIN_osx_BUILTIN_MIN_VER})
+ set(DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
if(COMPILER_RT_ENABLE_IOS)
list(APPEND DARWIN_EMBEDDED_PLATFORMS ios)
@@ -71,6 +72,8 @@ if(APPLE)
set(DARWIN_ios_BUILTIN_MIN_VER 6.0)
set(DARWIN_ios_BUILTIN_MIN_VER_FLAG
${DARWIN_ios_MIN_VER_FLAG}=${DARWIN_ios_BUILTIN_MIN_VER})
+ set(DARWIN_ios_BUILTIN_ALL_POSSIBLE_ARCHS ${ARM64} ${ARM32})
+ set(DARWIN_iossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
endif()
if(COMPILER_RT_ENABLE_WATCHOS)
list(APPEND DARWIN_EMBEDDED_PLATFORMS watchos)
@@ -78,6 +81,8 @@ if(APPLE)
set(DARWIN_watchos_BUILTIN_MIN_VER 2.0)
set(DARWIN_watchos_BUILTIN_MIN_VER_FLAG
${DARWIN_watchos_MIN_VER_FLAG}=${DARWIN_watchos_BUILTIN_MIN_VER})
+ set(DARWIN_watchos_BUILTIN_ALL_POSSIBLE_ARCHS armv7 armv7k)
+ set(DARWIN_watchossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86})
endif()
if(COMPILER_RT_ENABLE_TVOS)
list(APPEND DARWIN_EMBEDDED_PLATFORMS tvos)
@@ -85,6 +90,8 @@ if(APPLE)
set(DARWIN_tvos_BUILTIN_MIN_VER 9.0)
set(DARWIN_tvos_BUILTIN_MIN_VER_FLAG
${DARWIN_tvos_MIN_VER_FLAG}=${DARWIN_tvos_BUILTIN_MIN_VER})
+ set(DARWIN_tvos_BUILTIN_ALL_POSSIBLE_ARCHS armv7 arm64)
+ set(DARWIN_tvossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
endif()
set(BUILTIN_SUPPORTED_OS osx)
@@ -92,15 +99,16 @@ if(APPLE)
# We're setting the flag manually for each target OS
set(CMAKE_OSX_DEPLOYMENT_TARGET "")
- if(NOT DARWIN_osx_ARCHS)
- set(DARWIN_osx_ARCHS i386 x86_64 x86_64h)
- endif()
-
- set(DARWIN_sim_ARCHS i386 x86_64)
- set(DARWIN_device_ARCHS armv7 armv7s armv7k arm64)
-
- message(STATUS "OSX supported arches: ${DARWIN_osx_ARCHS}")
- foreach(arch ${DARWIN_osx_ARCHS})
+ # NOTE: We deliberately avoid using `DARWIN_<os>_ARCHS` here because that is
+ # used by `config-ix.cmake` in the context of building the rest of
+ # compiler-rt where the global `${TEST_COMPILE_ONLY}` (used by
+ # `darwin_test_archs()`) has a different value.
+ darwin_test_archs(osx
+ DARWIN_osx_BUILTIN_ARCHS
+ ${DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS}
+ )
+ message(STATUS "OSX supported builtin arches: ${DARWIN_osx_BUILTIN_ARCHS}")
+ foreach(arch ${DARWIN_osx_BUILTIN_ARCHS})
list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
set(CAN_TARGET_${arch} 1)
endforeach()
@@ -114,38 +122,30 @@ if(APPLE)
set(DARWIN_${platform}sim_SKIP_CC_KEXT On)
- set(test_arches ${DARWIN_sim_ARCHS})
- if(DARWIN_${platform}sim_ARCHS)
- set(test_arches DARWIN_${platform}sim_ARCHS)
- endif()
-
darwin_test_archs(${platform}sim
- DARWIN_${platform}sim_ARCHS
- ${test_arches})
- message(STATUS "${platform} Simulator supported builtin arches: ${DARWIN_${platform}sim_ARCHS}")
- if(DARWIN_${platform}sim_ARCHS)
+ DARWIN_${platform}sim_BUILTIN_ARCHS
+ ${DARWIN_${platform}sim_BUILTIN_ALL_POSSIBLE_ARCHS}
+ )
+ message(STATUS "${platform} Simulator supported builtin arches: ${DARWIN_${platform}sim_BUILTIN_ARCHS}")
+ if(DARWIN_${platform}sim_BUILTIN_ARCHS)
list(APPEND BUILTIN_SUPPORTED_OS ${platform}sim)
endif()
- foreach(arch ${DARWIN_${platform}sim_ARCHS})
+ foreach(arch ${DARWIN_${platform}sim_BUILTIN_ARCHS})
list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
set(CAN_TARGET_${arch} 1)
endforeach()
endif()
if(DARWIN_${platform}_SYSROOT)
- set(test_arches ${DARWIN_device_ARCHS})
- if(DARWIN_${platform}_ARCHS)
- set(test_arches DARWIN_${platform}_ARCHS)
- endif()
-
darwin_test_archs(${platform}
- DARWIN_${platform}_ARCHS
- ${test_arches})
- message(STATUS "${platform} supported builtin arches: ${DARWIN_${platform}_ARCHS}")
- if(DARWIN_${platform}_ARCHS)
+ DARWIN_${platform}_BUILTIN_ARCHS
+ ${DARWIN_${platform}_BUILTIN_ALL_POSSIBLE_ARCHS}
+ )
+ message(STATUS "${platform} supported builtin arches: ${DARWIN_${platform}_BUILTIN_ARCHS}")
+ if(DARWIN_${platform}_BUILTIN_ARCHS)
list(APPEND BUILTIN_SUPPORTED_OS ${platform})
endif()
- foreach(arch ${DARWIN_${platform}_ARCHS})
+ foreach(arch ${DARWIN_${platform}_BUILTIN_ARCHS})
list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
set(CAN_TARGET_${arch} 1)
endforeach()