@@ -578,6 +578,8 @@ else()
578578 set (SWIFT_HOST_VARIANT_SDK_default "WINDOWS" )
579579 elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Haiku" )
580580 set (SWIFT_HOST_VARIANT_SDK_default "HAIKU" )
581+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Android" )
582+ set (SWIFT_HOST_VARIANT_SDK_default "ANDROID" )
581583 elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Darwin" )
582584 set (SWIFT_HOST_VARIANT_SDK_default "OSX" )
583585 else ()
@@ -702,6 +704,15 @@ elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "HAIKU")
702704 set (SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK} " )
703705 set (SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH} " )
704706
707+ elseif ("${SWIFT_HOST_VARIANT_SDK} " STREQUAL "ANDROID" )
708+
709+ set (SWIFT_HOST_VARIANT "android" CACHE STRING
710+ "Deployment OS for Swift host tools (the compiler) [android]." )
711+
712+ configure_sdk_unix("Android" "${SWIFT_HOST_VARIANT_ARCH} " )
713+ set (SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK} " )
714+ set (SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH} " )
715+
705716elseif ("${SWIFT_HOST_VARIANT_SDK} " MATCHES "(OSX|IOS*|TVOS*|WATCHOS*)" )
706717
707718 set (SWIFT_HOST_VARIANT "macosx" CACHE STRING
@@ -746,7 +757,10 @@ endif()
746757
747758# Should we cross-compile the standard library for Android?
748759is_sdk_requested(ANDROID swift_build_android)
749- if (swift_build_android AND NOT "${SWIFT_ANDROID_NDK_PATH} " STREQUAL "" )
760+ if (swift_build_android AND NOT "${SWIFT_HOST_VARIANT_SDK} " STREQUAL "ANDROID" )
761+ if ("${SWIFT_ANDROID_NDK_PATH} " STREQUAL "" )
762+ message (FATAL_ERROR "You must set SWIFT_ANDROID_NDK_PATH to cross-compile the Swift runtime for Android" )
763+ endif ()
750764 if (NOT ("${CMAKE_HOST_SYSTEM_NAME} " STREQUAL "Darwin" OR "${CMAKE_HOST_SYSTEM_NAME} " STREQUAL "Linux" ))
751765 message (FATAL_ERROR "A Darwin or Linux host is required to build the Swift runtime for Android" )
752766 endif ()
0 commit comments