@@ -1005,18 +1005,34 @@ function(add_swift_target_library_single target name)
10051005 list (APPEND SWIFTLIB_SINGLE_SWIFT_COMPILE_FLAGS "-Xfrontend" "-define-availability" "-Xfrontend" "${def} " )
10061006
10071007 if ("${def} " MATCHES "SwiftStdlib .*" )
1008- # For each SwiftStdlib x.y, also define SwiftStdlibTargetOS x.y, which,
1008+ # For each SwiftStdlib x.y, also define SwiftStdlibCurrentOS x.y, which,
10091009 # will expand to the current `-target` platform if the macro defines a
10101010 # newer platform as its availability.
10111011 #
10121012 # There is a setting, SWIFT_STDLIB_ENABLE_STRICT_AVAILABILITY, which if set
10131013 # ON will cause us to use the "proper" availability instead.
10141014 string (REPLACE "SwiftStdlib" "SwiftStdlibCurrentOS" current "${def} " )
10151015 if (NOT SWIFT_STDLIB_ENABLE_STRICT_AVAILABILITY AND SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _AVAILABILITY_NAME)
1016- string (REGEX MATCH "${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _AVAILABILITY_NAME} ([0-9]+(\. [0-9]+)+)" platform_version "${def} " )
1017- string (REGEX MATCH "[0-9]+(\. [0-9]+)+" version "${platform_version} " )
1018- if (NOT version STREQUAL "9999" AND version VERSION_GREATER "${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _DEPLOYMENT_VERSION}" )
1019- string (REGEX REPLACE ":.*" ":${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _AVAILABILITY_NAME} ${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _DEPLOYMENT_VERSION}" current "${current} " )
1016+ if (SWIFTLIB_SINGLE_SDK STREQUAL "OSX" AND SWIFTLIB_SINGLE_MACCATALYST_BUILD_FLAVOR STREQUAL "ios-like" )
1017+ string (REGEX MATCH "iOS ([0-9]+(\. [0-9]+)+)" platform_version "${def} " )
1018+ string (REGEX MATCH "[0-9]+(\. [0-9]+)+" version "${platform_version} " )
1019+ if (NOT version STREQUAL "9999" AND version VERSION_GREATER "${SWIFT_DARWIN_DEPLOYMENT_VERSION_MACCATALYST} " )
1020+ string (REGEX REPLACE ":.*" ":iOS ${SWIFT_DARWIN_DEPLOYMENT_VERSION_MACCATALYST} " current "${current} " )
1021+ endif ()
1022+ elseif (SWIFTLIB_SINGLE_SDK STREQUAL "OSX" AND SWIFTLIB_SINGLE_MACCATALYST_BUILD_FLAVOR STREQUAL "zippered" )
1023+ string (REGEX MATCH "iOS ([0-9]+(\. [0-9]+)+)" ios_platform_version "${def} " )
1024+ string (REGEX MATCH "[0-9]+(\. [0-9]+)+" ios_version "${ios_platform_version} " )
1025+ string (REGEX MATCH "macOS ([0-9]+(\. [0-9]+)+)" macos_platform_version "${def} " )
1026+ string (REGEX MATCH "[0-9]+(\. [0-9]+)+" macos_version "${macos_platform_version} " )
1027+ if ((NOT macos_version STREQUAL "9999" OR NOT ios_version STREQUAL "9999" ) AND (macos_version VERSION_GREATER "${SWIFT_SDK_OSX_DEPLOYMENT_VERSION} " OR ios_version VERSION_GREATER "${SWIFT_DARWIN_DEPLOYMENT_VERSION_MACCATALYST} " ))
1028+ string (REGEX REPLACE ":.*" ": macOS ${SWIFT_SDK_OSX_DEPLOYMENT_VERSION} , iOS ${SWIFT_DARWIN_DEPLOYMENT_VERSION_MACCATALYST} " current "${current} " )
1029+ endif ()
1030+ else ()
1031+ string (REGEX MATCH "${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _AVAILABILITY_NAME} ([0-9]+(\. [0-9]+)+)" platform_version "${def} " )
1032+ string (REGEX MATCH "[0-9]+(\. [0-9]+)+" version "${platform_version} " )
1033+ if (NOT version STREQUAL "9999" AND version VERSION_GREATER "${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _DEPLOYMENT_VERSION}" )
1034+ string (REGEX REPLACE ":.*" ":${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _AVAILABILITY_NAME} ${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _DEPLOYMENT_VERSION}" current "${current} " )
1035+ endif ()
10201036 endif ()
10211037 endif ()
10221038
0 commit comments