@@ -1005,18 +1005,34 @@ function(add_swift_target_library_single target name)
1005
1005
list (APPEND SWIFTLIB_SINGLE_SWIFT_COMPILE_FLAGS "-Xfrontend" "-define-availability" "-Xfrontend" "${def} " )
1006
1006
1007
1007
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,
1009
1009
# will expand to the current `-target` platform if the macro defines a
1010
1010
# newer platform as its availability.
1011
1011
#
1012
1012
# There is a setting, SWIFT_STDLIB_ENABLE_STRICT_AVAILABILITY, which if set
1013
1013
# ON will cause us to use the "proper" availability instead.
1014
1014
string (REPLACE "SwiftStdlib" "SwiftStdlibCurrentOS" current "${def} " )
1015
1015
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 ()
1020
1036
endif ()
1021
1037
endif ()
1022
1038
0 commit comments