11if (NOT DEFINED SWIFT_BUILD_CLANG_OVERLAYS_SKIP_BUILTIN_FLOAT OR NOT SWIFT_BUILD_CLANG_OVERLAYS_SKIP_BUILTIN_FLOAT)
2+ set (BUILTIN_FLOAT_SOURCES
3+ linker-support/magic-symbols-for-install -name .c
4+ )
5+
6+ set (BUILTIN_FLOAT_GYB_SOURCES
7+ float.swift.gyb
8+ )
9+
210 if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" )
311 set (BUILTIN_FLOAT_SWIFT_FLAGS -Xfrontend -module-abi-name -Xfrontend Darwin)
412 else ()
@@ -9,10 +17,10 @@ if(NOT DEFINED SWIFT_BUILD_CLANG_OVERLAYS_SKIP_BUILTIN_FLOAT OR NOT SWIFT_BUILD_
917 ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES}
1018 IS_SDK_OVERLAY
1119
12- linker-support/magic-symbols-for- install - name .c
20+ ${BUILTIN_FLOAT_SOURCES}
1321
1422 GYB_SOURCES
15- float.swift.gyb
23+ ${BUILTIN_FLOAT_GYB_SOURCES}
1624
1725 SWIFT_COMPILE_FLAGS
1826 ${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}
@@ -24,4 +32,47 @@ if(NOT DEFINED SWIFT_BUILD_CLANG_OVERLAYS_SKIP_BUILTIN_FLOAT OR NOT SWIFT_BUILD_
2432
2533 INSTALL_IN_COMPONENT stdlib
2634 MACCATALYST_BUILD_FLAVOR zippered)
35+
36+ # Embedded clang overlays - embedded libraries are built as .swiftmodule only,
37+ # i.e. there is no .o or .a file produced (no binary code is actually produced)
38+ # and only users of a library are going to actually compile any needed code.
39+ if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
40+ add_custom_target (embedded-builtin_float)
41+ add_dependencies (embedded-libraries embedded-builtin_float)
42+
43+ foreach (entry ${EMBEDDED_STDLIB_TARGET_TRIPLES} )
44+ string (REGEX REPLACE "[ \t ]+" ";" list "${entry} " )
45+ list (GET list 0 arch)
46+ list (GET list 1 mod)
47+ list (GET list 2 triple)
48+
49+ set (SWIFT_SDK_embedded_ARCH_${arch} _MODULE "${mod} " )
50+ set (SWIFT_SDK_embedded_LIB_SUBDIR "embedded" )
51+ set (SWIFT_SDK_embedded_ARCH_${arch} _TRIPLE "${triple} " )
52+ set (SWIFT_SDK_embedded_PATH ${SWIFT_SDK_OSX_PATH} )
53+ set (SWIFT_SDK_embedded_ARCH_${arch} _PATH ${SWIFT_SDK_OSX_PATH} )
54+ set (SWIFT_SDK_embedded_USE_ISYSROOT TRUE )
55+ add_swift_target_library_single(
56+ embedded-builtin_float-${mod}
57+ swift_Builtin_float
58+ ONLY_SWIFTMODULE
59+ IS_FRAGILE
60+
61+ ${BUILTIN_FLOAT_SOURCES}
62+ GYB_SOURCES
63+ ${BUILTIN_FLOAT_GYB_SOURCES}
64+
65+ SWIFT_COMPILE_FLAGS
66+ ${BUILTIN_FLOAT_SWIFT_FLAGS}
67+ -Xcc -ffreestanding -enable-experimental-feature Embedded
68+
69+ MODULE_DIR "${CMAKE_BINARY_DIR} /lib/swift/embedded"
70+ SDK "embedded"
71+ ARCHITECTURE "${arch} "
72+ DEPENDS embedded-stdlib-${mod}
73+ INSTALL_IN_COMPONENT stdlib
74+ )
75+ add_dependencies (embedded-builtin_float embedded-builtin_float-${mod} )
76+ endforeach ()
77+ endif ()
2778endif ()
0 commit comments