Skip to content

Commit 2446923

Browse files
committed
[embedded] Make stdlib APIs automatically available on older Darwin versions in Embedded Swift
1 parent 68c1e54 commit 2446923

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

stdlib/public/core/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,15 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
434434
set(SWIFT_STDLIB_ENABLE_OBJC_INTEROP OFF)
435435
set(SWIFT_STDLIB_ENABLE_VECTOR_TYPES OFF)
436436

437+
# Under Embedded Swift, all stdlib APIs should be available always. Replace
438+
# all availability macros with very very old OS versions.
439+
set(SWIFT_STDLIB_AVAILABILITY_DEFINITIONS_EMBEDDED)
440+
foreach(def ${SWIFT_STDLIB_AVAILABILITY_DEFINITIONS})
441+
string(REGEX REPLACE ":.*" ":macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" replaced "${def}")
442+
list(APPEND SWIFT_STDLIB_AVAILABILITY_DEFINITIONS_EMBEDDED "${replaced}")
443+
endforeach()
444+
set(SWIFT_STDLIB_AVAILABILITY_DEFINITIONS "${SWIFT_STDLIB_AVAILABILITY_DEFINITIONS_EMBEDDED}")
445+
437446
foreach(entry ${EMBEDDED_STDLIB_TARGET_TRIPLES})
438447
string(REGEX REPLACE "[ \t]+" ";" list "${entry}")
439448
list(GET list 0 arch)

0 commit comments

Comments
 (0)