Skip to content

Commit 7d74b7c

Browse files
committed
[Explicit Module Builds] Pass in -fno-implicit-module-maps for pre-building Clang explicit dependencies
The dependency scanner specifies which exact modulemaps must be used, we do not need Clang to also search for modulemaps.
1 parent aed3e3c commit 7d74b7c

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

Sources/SwiftDriver/ExplicitModuleBuilds/ExplicitDependencyBuildPlanner.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ public typealias ExternalTargetModuleDetailsMap = [ModuleDependencyId: ExternalT
254254
commandLine: inout [Job.ArgTemplate]) throws {
255255
// Prohibit the frontend from implicitly building textual modules into binary modules.
256256
commandLine.appendFlags("-disable-implicit-swift-modules", "-Xcc", "-Xclang", "-Xcc",
257-
"-fno-implicit-modules")
257+
"-fno-implicit-modules", "-Xcc", "-Xclang", "-Xcc", "-fno-implicit-module-maps")
258258
var swiftDependencyArtifacts: [SwiftModuleArtifactInfo] = []
259259
var clangDependencyArtifacts: [ClangModuleArtifactInfo] = []
260260
try addModuleDependencies(moduleId: moduleId, pcmArgs: pcmArgs,

Tests/SwiftDriverTests/ExplicitModuleBuildTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ throws {
5959
// Ensure the frontend was prohibited from doing implicit module builds
6060
XCTAssertTrue(job.commandLine.contains(.flag(String("-disable-implicit-swift-modules"))))
6161
XCTAssertTrue(job.commandLine.contains(.flag(String("-fno-implicit-modules"))))
62+
XCTAssertTrue(job.commandLine.contains(.flag(String("-fno-implicit-module-maps"))))
63+
6264
try checkExplicitModuleBuildJobDependencies(job: job, pcmArgs: downstreamPCMArgs,
6365
moduleInfo: moduleInfo,
6466
dependencyGraph: dependencyGraph,

0 commit comments

Comments
 (0)