@@ -656,6 +656,12 @@ function(_compile_swift_files
656
656
"-emit-private-module-interface-path" "${private_interface_file} " )
657
657
endif ()
658
658
659
+ if (SWIFT_STDLIB_EMIT_API_DESCRIPTORS AND NOT SWIFTFILE_IS_FRAGILE )
660
+ set (api_descriptor_file "${module_base} .api.json" )
661
+ list (APPEND swift_module_flags
662
+ "-emit-api-descriptor-path" "${api_descriptor_file} " )
663
+ endif ()
664
+
659
665
if (NOT SWIFTFILE_IS_STDLIB_CORE )
660
666
list (APPEND swift_module_flags
661
667
"-Xfrontend" "-experimental-skip-non-inlinable-function-bodies" )
@@ -714,6 +720,13 @@ function(_compile_swift_files
714
720
set (maccatalyst_private_interface_file )
715
721
endif ()
716
722
723
+ if (SWIFT_STDLIB_EMIT_API_DESCRIPTORS AND NOT SWIFTFILE_IS_FRAGILE )
724
+ set (maccatalyst_api_descriptor_file "${maccatalyst_module_base} .api.json" )
725
+ list (APPEND maccatalyst_module_outputs "${maccatalyst_api_descriptor_file} " )
726
+ else ()
727
+ set (maccatalyst_api_descriptor_file )
728
+ endif ()
729
+
717
730
swift_install_in_component (DIRECTORY ${maccatalyst_specific_module_dir}
718
731
DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift/${maccatalyst_library_subdir} "
719
732
COMPONENT "${SWIFTFILE_INSTALL_IN_COMPONENT} "
@@ -737,6 +750,9 @@ function(_compile_swift_files
737
750
list (APPEND module_outputs "${interface_file} " "${private_interface_file} " )
738
751
list (APPEND module_outputs_static "${interface_file_static} " "${private_interface_file_static} " )
739
752
endif ()
753
+ if (api_descriptor_file )
754
+ list (APPEND module_outputs "${api_descriptor_file} " )
755
+ endif ()
740
756
741
757
swift_install_in_component (DIRECTORY "${specific_module_dir} "
742
758
DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift/${library_subdir} "
@@ -856,6 +872,14 @@ function(_compile_swift_files
856
872
list (REMOVE_AT maccatalyst_swift_module_flags ${old_interface_file_index} )
857
873
endif ()
858
874
875
+ # Remove original api descriptor
876
+ list (FIND maccatalyst_swift_module_flags "${api_descriptor_file} " api_descriptor_file_index )
877
+ if (NOT api_descriptor_file_index EQUAL -1 )
878
+ list (INSERT maccatalyst_swift_module_flags ${api_descriptor_file_index} "${maccatalyst_api_descriptor_file} " )
879
+ math (EXPR old_api_descriptor_file_index "${api_descriptor_file_index} + 1" )
880
+ list (REMOVE_AT maccatalyst_swift_module_flags ${old_api_descriptor_file_index} )
881
+ endif ()
882
+
859
883
# We still need to change the main swift flags
860
884
# so we can use the correct modules
861
885
# when building for macOS
0 commit comments