diff --git a/CMakeLists.txt b/CMakeLists.txt index 978a162f72596..db94d1c7e6efb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -449,6 +449,8 @@ else() set(SWIFT_HOST_VARIANT_SDK_default "FREEBSD") elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN") set(SWIFT_HOST_VARIANT_SDK_default "CYGWIN") + elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") + set(SWIFT_HOST_VARIANT_SDK_default "WINDOWS") elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") set(SWIFT_HOST_VARIANT_SDK_default "OSX") else() @@ -475,6 +477,12 @@ else() set(SWIFT_HOST_VARIANT_ARCH_default "armv6") elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "armv7l") set(SWIFT_HOST_VARIANT_ARCH_default "armv7") + elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64") + set(SWIFT_HOST_VARIANT_ARCH_default "x86_64") + elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "IA64") + set(SWIFT_HOST_VARIANT_ARCH_default "itanium") + elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86") + set(SWIFT_HOST_VARIANT_ARCH_default "i686") else() message(FATAL_ERROR "Unrecognized architecture on host system: ${CMAKE_SYSTEM_PROCESSOR}") endif() @@ -584,9 +592,14 @@ elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "CYGWIN") "Deployment OS for Swift host tools (the compiler) [windows].") configure_sdk_unix(CYGWIN "Cygwin" "windows" "cygwin" "windows" "x86_64-unknown-windows-cygnus" "/") - set(SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}") + set(SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}") set(SWIFT_PRIMARY_VARIANT_ARCH_default "x86_64") +elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "WINDOWS") + configure_sdk_windows(WINDOWS "Windows" "msvc" "${SWIFT_HOST_VARIANT_ARCH}") + set(SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}") + set(SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH}") + elseif("${SWIFT_HOST_VARIANT_SDK}" MATCHES "(OSX|IOS*|TVOS*|WATCHOS*)") set(SWIFT_HOST_VARIANT "macosx" CACHE STRING @@ -730,7 +743,7 @@ endif() # Should we cross-compile the standard library for Windows? is_sdk_requested(WINDOWS swift_build_windows) -if(swift_build_windows) +if(swift_build_windows AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") configure_sdk_windows(WINDOWS "Windows" "msvc" i686) endif() diff --git a/cmake/modules/SwiftConfigureSDK.cmake b/cmake/modules/SwiftConfigureSDK.cmake index fc74dde43d51e..a4b4ff1a75158 100644 --- a/cmake/modules/SwiftConfigureSDK.cmake +++ b/cmake/modules/SwiftConfigureSDK.cmake @@ -157,7 +157,7 @@ macro(configure_sdk_windows prefix sdk_name environment architectures) set(SWIFT_SDK_${prefix}_DEPLOYMENT_VERSION "NOTFOUND") set(SWIFT_SDK_${prefix}_LIB_SUBDIR "windows") set(SWIFT_SDK_${prefix}_VERSION_MIN_NAME "NOTFOUND") - set(SWIFT_SDK_${prefix}_TRIPLE_NAME "NOTFOUND") + set(SWIFT_SDK_${prefix}_TRIPLE_NAME "Win32") set(SWIFT_SDK_${prefix}_ARCHITECTURES "${architectures}") set(SWIFT_SDK_${prefix}_OBJECT_FORMAT "COFF") diff --git a/cmake/modules/SwiftSetIfArchBitness.cmake b/cmake/modules/SwiftSetIfArchBitness.cmake index 468237d061d0a..5212cf3ccb854 100644 --- a/cmake/modules/SwiftSetIfArchBitness.cmake +++ b/cmake/modules/SwiftSetIfArchBitness.cmake @@ -8,6 +8,7 @@ function(set_if_arch_bitness var_name) if("${SIA_ARCH}" STREQUAL "i386" OR "${SIA_ARCH}" STREQUAL "i686" OR + "${SIA_ARCH}" STREQUAL "x86" OR "${SIA_ARCH}" STREQUAL "armv6" OR "${SIA_ARCH}" STREQUAL "armv7" OR "${SIA_ARCH}" STREQUAL "armv7k" OR