@@ -572,6 +572,8 @@ else()
572572 set (SWIFT_HOST_VARIANT_SDK_default "WINDOWS" )
573573 elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Haiku" )
574574 set (SWIFT_HOST_VARIANT_SDK_default "HAIKU" )
575+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Android" )
576+ set (SWIFT_HOST_VARIANT_SDK_default "ANDROID" )
575577 elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Darwin" )
576578 set (SWIFT_HOST_VARIANT_SDK_default "OSX" )
577579 else ()
@@ -696,6 +698,15 @@ elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "HAIKU")
696698 set (SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK} " )
697699 set (SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH} " )
698700
701+ elseif ("${SWIFT_HOST_VARIANT_SDK} " STREQUAL "ANDROID" )
702+
703+ set (SWIFT_HOST_VARIANT "android" CACHE STRING
704+ "Deployment OS for Swift host tools (the compiler) [android]." )
705+
706+ configure_sdk_unix("Android" "${SWIFT_HOST_VARIANT_ARCH} " )
707+ set (SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK} " )
708+ set (SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH} " )
709+
699710elseif ("${SWIFT_HOST_VARIANT_SDK} " MATCHES "(OSX|IOS*|TVOS*|WATCHOS*)" )
700711
701712 set (SWIFT_HOST_VARIANT "macosx" CACHE STRING
@@ -740,7 +751,10 @@ endif()
740751
741752# Should we cross-compile the standard library for Android?
742753is_sdk_requested(ANDROID swift_build_android)
743- if (swift_build_android AND NOT "${SWIFT_ANDROID_NDK_PATH} " STREQUAL "" )
754+ if (swift_build_android AND NOT "${SWIFT_HOST_VARIANT_SDK} " STREQUAL "ANDROID" )
755+ if ("${SWIFT_ANDROID_NDK_PATH} " STREQUAL "" )
756+ message (FATAL_ERROR "You must set SWIFT_ANDROID_NDK_PATH to cross-compile the Swift runtime for Android" )
757+ endif ()
744758 if (NOT ("${CMAKE_HOST_SYSTEM_NAME} " STREQUAL "Darwin" OR "${CMAKE_HOST_SYSTEM_NAME} " STREQUAL "Linux" ))
745759 message (FATAL_ERROR "A Darwin or Linux host is required to build the Swift runtime for Android" )
746760 endif ()
0 commit comments