@@ -31,17 +31,23 @@ struct Available {
3131 var swiftSetting : SwiftSetting {
3232 #if SYSTEM_ABI_STABLE
3333 // Use availability matching Darwin API.
34- let availability = self . osAvailability
34+ let availabilityType = self . osAvailability
3535 #else
3636 // Use availability matching SwiftPM default.
37- let availability = self . sourceAvailability
37+ let availabilityType = self . sourceAvailability
3838 #endif
3939 return . enableExperimentalFeature(
40- " AvailabilityMacro= \( self . name) \( version) : \( availability) " )
40+ " AvailabilityMacro= \( self . name) \( version) : \( availabilityType) " )
41+ }
42+
43+ var compatibilitySetting : SwiftSetting {
44+ . enableExperimentalFeature(
45+ " AvailabilityMacro= \( self . name) \( version) : \( osAvailability) "
46+ )
4147 }
4248}
4349
44- let availability : [ Available ] = [
50+ let availabilityList : [ Available ] = [
4551 Available ( " 0.0.1 " , " macOS 11.0, iOS 14.0, watchOS 7.0, tvOS 14.0 " ) ,
4652
4753 Available ( " 0.0.2 " , " macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0 " ) ,
@@ -68,7 +74,7 @@ let availability: [Available] = [
6874 Available ( " 99 " , " macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, visionOS 9999 " ) ,
6975]
7076
71- let swiftSettingsAvailability = availability . map ( \. swiftSetting)
77+ let availabilitySettings = availabilityList . map ( \. swiftSetting)
7278
7379#if SYSTEM_CI
7480let swiftSettingsCI : [ SwiftSetting ] = [
@@ -78,7 +84,7 @@ let swiftSettingsCI: [SwiftSetting] = [
7884let swiftSettingsCI : [ SwiftSetting ] = [ ]
7985#endif
8086
81- let swiftSettings = swiftSettingsAvailability + swiftSettingsCI + [
87+ let sharedSwiftSettings = swiftSettingsCI + [
8288 . define(
8389 " SYSTEM_PACKAGE_DARWIN " ,
8490 . when( platforms: [ . macOS, . macCatalyst, . iOS, . watchOS, . tvOS, . visionOS] ) ) ,
@@ -87,6 +93,8 @@ let swiftSettings = swiftSettingsAvailability + swiftSettingsCI + [
8793 . enableExperimentalFeature( " Lifetimes " ) ,
8894]
8995
96+ let swiftSettings = sharedSwiftSettings + availabilitySettings
97+
9098let cSettings : [ CSetting ] = [
9199 . define( " _CRT_SECURE_NO_WARNINGS " , . when( platforms: [ . windows] ) ) ,
92100]
@@ -141,7 +149,8 @@ let package = Package(
141149 path: " Sources/SystemCompatibilityAdaptors " ,
142150 exclude: [ ] ,
143151 cSettings: cSettings,
144- swiftSettings: swiftSettings
152+ swiftSettings:
153+ sharedSwiftSettings + availabilityList. map ( \. compatibilitySetting)
145154 ) ,
146155 . testTarget(
147156 name: " SystemTests " ,
@@ -154,7 +163,8 @@ let package = Package(
154163 dependencies: [ " SystemCompatibilityAdaptors " , " SystemPackage " ] ,
155164 exclude: [ ] ,
156165 cSettings: cSettings,
157- swiftSettings: swiftSettings
166+ swiftSettings:
167+ sharedSwiftSettings + availabilityList. map ( \. compatibilitySetting)
158168 ) ,
159169 ] ,
160170 swiftLanguageVersions: [ . v5]
0 commit comments