From 78fb02107ae5819501af2600b0bebd48c1900a9b Mon Sep 17 00:00:00 2001 From: Tobias Hieta Date: Wed, 8 Feb 2023 08:11:34 +0100 Subject: [PATCH] [compiler-rt][macOS]: Disable iOS support if iOS SDK is not found If you are missing the iOS SDK on your macOS (for example you don't have full Xcode but just CommandLineTools) then CMake currently errors out without a helpful message. This patch disables iOS support in compiler-rt if the iOS SDK is not found. This can be overriden by passing -DCOMPILER_RT_ENABLE_IOS=ON. Reviewed By: delcypher, thetruestblue Differential Revision: https://reviews.llvm.org/D133273 --- compiler-rt/cmake/base-config-ix.cmake | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/compiler-rt/cmake/base-config-ix.cmake b/compiler-rt/cmake/base-config-ix.cmake index 0ad95d5..c6e9505 100644 --- a/compiler-rt/cmake/base-config-ix.cmake +++ b/compiler-rt/cmake/base-config-ix.cmake @@ -8,6 +8,7 @@ include(CheckIncludeFile) include(CheckCXXSourceCompiles) include(GNUInstallDirs) include(ExtendPath) +include(CompilerRTDarwinUtils) check_include_file(unwind.h HAVE_UNWIND_H) @@ -145,7 +146,18 @@ if(APPLE) "-darwin-target-variant" "x86_64-apple-ios13.1-macabi" "-Werror") option(COMPILER_RT_ENABLE_MACCATALYST "Enable building for Mac Catalyst" ${COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG}) - option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" On) + + # Don't enable COMPILER_RT_ENABLE_IOS if we can't find the sdk dir. + # This can happen when you only have the commandline tools installed + # which doesn't come with the iOS SDK. + find_darwin_sdk_dir(HAS_IOS_SDK "iphoneos") + set(COMPILER_RT_ENABLE_IOS_DEFAULT On) + if("${HAS_IOS_SDK}" STREQUAL "") + message(WARNING "iOS SDK not found! Building compiler-rt without iOS support.") + set(COMPILER_RT_ENABLE_IOS_DEFAULT Off) + endif() + option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" ${COMPILER_RT_ENABLE_IOS_DEFAULT}) + option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off) option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off) -- 2.7.4