Skip to content

Commit c5365d4

Browse files
authored
Merge pull request #29616 from nkcsgexi/emit-no-source-info-overlay
cmake: avoid emitting .swiftsourceinfo files for overlays
2 parents b6b67c4 + 51d6243 commit c5365d4

File tree

4 files changed

+15
-7
lines changed

4 files changed

+15
-7
lines changed

cmake/modules/SwiftSource.cmake

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -355,13 +355,9 @@ function(_compile_swift_files
355355
if(SWIFTFILE_SDK IN_LIST SWIFT_APPLE_PLATFORMS OR
356356
SWIFTFILE_SDK STREQUAL "MACCATALYST")
357357
set(specific_module_dir "${module_base}.swiftmodule")
358-
set(specific_module_project_dir "${specific_module_dir}/Project")
359-
set(source_info_file "${specific_module_project_dir}/${SWIFTFILE_ARCHITECTURE}.swiftsourceinfo")
360358
set(module_base "${module_base}.swiftmodule/${SWIFTFILE_ARCHITECTURE}")
361359
else()
362360
set(specific_module_dir)
363-
set(specific_module_project_dir)
364-
set(source_info_file "${module_base}.swiftsourceinfo")
365361
endif()
366362
set(module_file "${module_base}.swiftmodule")
367363
set(module_doc_file "${module_base}.swiftdoc")
@@ -622,11 +618,10 @@ function(_compile_swift_files
622618
COMMAND
623619
"${CMAKE_COMMAND}" "-E" "make_directory" ${module_dir}
624620
${specific_module_dir}
625-
${specific_module_project_dir}
626621
COMMAND
627622
"${PYTHON_EXECUTABLE}" "${line_directive_tool}" "@${file_path}" --
628623
"${swift_compiler_tool}" "-emit-module" "-o" "${module_file}"
629-
"-emit-module-source-info-path" "${source_info_file}"
624+
"-avoid-emit-module-source-info"
630625
${swift_flags} ${swift_module_flags} "@${file_path}"
631626
${command_touch_module_outputs}
632627
OUTPUT ${module_outputs}

include/swift/Option/Options.td

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,11 @@ def emit_module_interface_path :
419419
ArgumentIsPath]>,
420420
MetaVarName<"<path>">, HelpText<"Output module interface file to <path>">;
421421

422+
def avoid_emit_module_source_info :
423+
Flag<["-"], "avoid-emit-module-source-info">,
424+
Flags<[NoInteractiveOption, DoesNotAffectIncrementalBuild]>,
425+
HelpText<"don't emit Swift source info file">;
426+
422427
def emit_module_source_info_path :
423428
Separate<["-"], "emit-module-source-info-path">,
424429
Flags<[FrontendOption, NoInteractiveOption, DoesNotAffectIncrementalBuild,

lib/Driver/Driver.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2718,7 +2718,10 @@ Job *Driver::buildJobsForAction(Compilation &C, const JobAction *JA,
27182718
if (OI.ShouldGenerateModule &&
27192719
(isa<CompileJobAction>(JA) || isa<MergeModuleJobAction>(JA))) {
27202720
chooseSwiftModuleDocOutputPath(C, OutputMap, workingDirectory, Output.get());
2721-
chooseSwiftSourceInfoOutputPath(C, OutputMap, workingDirectory, Output.get());
2721+
if (!C.getArgs().hasArg(options::OPT_avoid_emit_module_source_info)) {
2722+
chooseSwiftSourceInfoOutputPath(C, OutputMap, workingDirectory,
2723+
Output.get());
2724+
}
27222725
}
27232726

27242727
if (C.getArgs().hasArg(options::OPT_emit_module_interface,

test/Driver/sourceinfo_file.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,8 @@
1414
// RUN: %swiftc_driver -driver-print-jobs -emit-module %s -emit-module-path %t/build/sourceinfo_file.swiftmodule -module-name sourceinfo_file -emit-module-source-info-path %t/build/DriverPath.swiftsourceinfo | %FileCheck %s -check-prefix CHECK-DRIVER-OPT
1515

1616
// CHECK-DRIVER-OPT: build{{[/\\]}}DriverPath.swiftsourceinfo
17+
18+
// RUN: %empty-directory(%t/build)
19+
// RUN: %swiftc_driver -driver-print-jobs -emit-module %s -emit-module-path %t/build/sourceinfo_file.swiftmodule -module-name sourceinfo_file -avoid-emit-module-source-info | %FileCheck %s -check-prefix CHECK-DRIVER-AVOID
20+
21+
// CHECK-DRIVER-AVOID-NOT: swiftsourceinfo

0 commit comments

Comments
 (0)