Skip to content

Commit 61be599

Browse files
authored
Merge pull request #68786 from kubamracek/embedded-no-swiftinterface
[embedded] Do not emit .swiftinterface files for fragile modules (embedded stdlib, Cxx.swiftmodule)
2 parents 2285eb2 + 884bd6e commit 61be599

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

stdlib/cmake/modules/SwiftSource.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,7 @@ function(_compile_swift_files
646646
set(sibopt_file "${module_base}.O.sib")
647647
set(sibgen_file "${module_base}.sibgen")
648648

649-
if(SWIFT_ENABLE_MODULE_INTERFACES)
649+
if(SWIFT_ENABLE_MODULE_INTERFACES AND NOT SWIFTFILE_IS_FRAGILE)
650650
set(interface_file "${module_base}.swiftinterface")
651651
set(interface_file_static "${module_base_static}.swiftinterface")
652652
set(private_interface_file "${module_base}.private.swiftinterface")
@@ -705,7 +705,7 @@ function(_compile_swift_files
705705

706706
set(maccatalyst_module_outputs "${maccatalyst_module_file}" "${maccatalyst_module_doc_file}")
707707

708-
if(SWIFT_ENABLE_MODULE_INTERFACES)
708+
if(SWIFT_ENABLE_MODULE_INTERFACES AND NOT SWIFTFILE_IS_FRAGILE)
709709
set(maccatalyst_interface_file "${maccatalyst_module_base}.swiftinterface")
710710
set(maccatalyst_private_interface_file "${maccatalyst_module_base}.private.swiftinterface")
711711
list(APPEND maccatalyst_module_outputs "${maccatalyst_interface_file}" "${maccatalyst_private_interface_file}")

stdlib/public/core/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
424424
embedded-stdlib-${triple}
425425
swiftCore
426426
ONLY_SWIFTMODULE
427-
IS_STDLIB IS_STDLIB_CORE
427+
IS_STDLIB IS_STDLIB_CORE IS_FRAGILE
428428
${SWIFTLIB_EMBEDDED_SOURCES}
429429
GYB_SOURCES ${SWIFTLIB_EMBEDDED_GYB_SOURCES}
430430
SWIFT_COMPILE_FLAGS -target "${triple}" -Xcc -D__MACH__ -enable-experimental-feature Embedded

validation-test/ParseableInterface/verify_all_overlays.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@
5050
]:
5151
continue
5252

53+
# Cxx and CxxStdlib are built without library evolution and don't have a
54+
# .swiftinterface file
55+
if module_name in ["Cxx", "CxxStdlib"]:
56+
if not os.path.exists(interface_file):
57+
continue
58+
5359
# swift -build-module-from-parseable-interface
5460
output_path = os.path.join(output_dir, module_name + ".swiftmodule")
5561
compiler_args = ["-o", output_path, "-module-name", module_name,

0 commit comments

Comments
 (0)