Skip to content

Commit c940458

Browse files
committed
Add -explicit-module-build flag (non--experimental)
1 parent 37d920c commit c940458

File tree

5 files changed

+56
-55
lines changed

5 files changed

+56
-55
lines changed

Package.resolved

Lines changed: 39 additions & 41 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/SwiftOptions/ExtraOptions.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
//===----------------------------------------------------------------------===//
1212
extension Option {
1313
public static let driverPrintGraphviz: Option = Option("-driver-print-graphviz", .flag, attributes: [.helpHidden, .doesNotAffectIncrementalBuild], helpText: "Write the job graph as a graphviz file", group: .internalDebug)
14-
public static let driverExplicitModuleBuild: Option = Option("-experimental-explicit-module-build", .flag, attributes: [.helpHidden], helpText: "Prebuild module dependencies to make them explicit")
14+
15+
public static let driverExplicitModuleBuild: Option = Option("-explicit-module-build", .flag, attributes: [.helpHidden], helpText: "Prebuild module dependencies to make them explicit")
16+
public static let driverExperimentalExplicitModuleBuild: Option = Option("-experimental-explicit-module-build", .flag, alias: Option.driverExplicitModuleBuild, attributes: [.helpHidden], helpText: "Prebuild module dependencies to make them explicit")
1517
public static let driverScanDependenciesNonLib: Option = Option("-nonlib-dependency-scanner", .flag, attributes: [.helpHidden], helpText: "Use calls to `swift-frontend -scan-dependencies` instead of dedicated dependency scanning library")
1618
public static let driverWarnUnusedOptions: Option = Option("-driver-warn-unused-options", .flag, attributes: [.helpHidden], helpText: "Emit warnings for any provided options which are unused by the driver")
1719
public static let emitModuleSeparately: Option = Option("-experimental-emit-module-separately", .flag, attributes: [.helpHidden], helpText: "Emit module files as a distinct job")
@@ -30,6 +32,7 @@ extension Option {
3032
return [
3133
Option.driverPrintGraphviz,
3234
Option.driverExplicitModuleBuild,
35+
Option.driverExperimentalExplicitModuleBuild,
3336
Option.driverScanDependenciesNonLib,
3437
Option.driverWarnUnusedOptions,
3538
Option.emitModuleSeparately,

Sources/swift-driver/main.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ do {
3737
}
3838

3939
if ProcessEnv.vars["SWIFT_ENABLE_EXPLICIT_MODULE"] != nil {
40-
CommandLine.arguments.append("-experimental-explicit-module-build")
40+
CommandLine.arguments.append("-explicit-module-build")
4141
}
4242

4343
let (mode, arguments) = try Driver.invocationRunMode(forArgs: CommandLine.arguments)

Tests/SwiftDriverTests/ExplicitModuleBuildTests.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ private func pcmArgsEncodedRelativeModulePath(for moduleName: String, with pcmAr
156156
final class ExplicitModuleBuildTests: XCTestCase {
157157
func testModuleDependencyBuildCommandGeneration() throws {
158158
do {
159-
var driver = try Driver(args: ["swiftc", "-experimental-explicit-module-build",
159+
var driver = try Driver(args: ["swiftc", "-explicit-module-build",
160160
"-module-name", "testModuleDependencyBuildCommandGeneration",
161161
"test.swift"])
162162
let pcmArgs = ["-Xcc","-target","-Xcc","x86_64-apple-macosx10.15"]
@@ -215,7 +215,7 @@ final class ExplicitModuleBuildTests: XCTestCase {
215215
let externalDetails: ExternalTargetModuleDetailsMap =
216216
[.swiftPrebuiltExternal("A"): ExternalTargetModuleDetails(path: AbsolutePath("/tmp/A.swiftmodule"),
217217
isFramework: true)]
218-
var driver = try Driver(args: ["swiftc", "-experimental-explicit-module-build",
218+
var driver = try Driver(args: ["swiftc", "-explicit-module-build",
219219
"-module-name", "testModuleDependencyBuildCommandGenerationWithExternalFramework",
220220
"test.swift"])
221221
var moduleDependencyGraph =
@@ -295,7 +295,7 @@ final class ExplicitModuleBuildTests: XCTestCase {
295295
}
296296

297297
/// Test generation of explicit module build jobs for dependency modules when the driver
298-
/// is invoked with -experimental-explicit-module-build
298+
/// is invoked with -explicit-module-build
299299
func testExplicitModuleBuildJobs() throws {
300300
try withTemporaryDirectory { path in
301301
let main = path.appending(component: "testExplicitModuleBuildJobs.swift")
@@ -315,7 +315,7 @@ final class ExplicitModuleBuildTests: XCTestCase {
315315
"-target", "x86_64-apple-macosx11.0",
316316
"-I", cHeadersPath,
317317
"-I", swiftModuleInterfacesPath,
318-
"-experimental-explicit-module-build",
318+
"-explicit-module-build",
319319
main.pathString] + sdkArgumentsForTesting)
320320

321321
let jobs = try driver.planBuild()
@@ -463,7 +463,7 @@ final class ExplicitModuleBuildTests: XCTestCase {
463463
"-target", "x86_64-apple-macosx11.0",
464464
"-I", cHeadersPath,
465465
"-I", swiftModuleInterfacesPath,
466-
"-experimental-explicit-module-build",
466+
"-explicit-module-build",
467467
main.pathString] + sdkArgumentsForTesting)
468468

469469
let jobs = try driver.planBuild()
@@ -594,7 +594,7 @@ final class ExplicitModuleBuildTests: XCTestCase {
594594
var driver = try Driver(args: ["swiftc",
595595
"-I", cHeadersPath,
596596
"-I", swiftModuleInterfacesPath,
597-
"-experimental-explicit-module-build",
597+
"-explicit-module-build",
598598
"-working-directory", path.pathString,
599599
// TODO: clang targets need to be taught
600600
// how to work with explicit modules
@@ -639,7 +639,7 @@ final class ExplicitModuleBuildTests: XCTestCase {
639639
toolchain: Toolchain,
640640
hostTriple: Triple) {
641641
// Just instantiating to get at the toolchain path
642-
let driver = try Driver(args: ["swiftc", "-experimental-explicit-module-build",
642+
let driver = try Driver(args: ["swiftc", "-explicit-module-build",
643643
"-module-name", "testDependencyScanning",
644644
"test.swift"])
645645
let (stdLibPath, shimsPath) = try getStdlibShimsPaths(driver)
@@ -709,7 +709,7 @@ final class ExplicitModuleBuildTests: XCTestCase {
709709
let lotsOfInputs = (0...700).map{"test\($0).swift"}
710710
let sdkArgumentsForTesting = (try? Driver.sdkArgumentsForTesting()) ?? []
711711
var driver = try Driver(args: ["swiftc",
712-
"-experimental-explicit-module-build",
712+
"-explicit-module-build",
713713
"-working-directory", path.pathString,
714714
main.pathString] + lotsOfInputs + sdkArgumentsForTesting,
715715
env: ProcessEnv.vars)
@@ -759,7 +759,7 @@ final class ExplicitModuleBuildTests: XCTestCase {
759759
"-I", cHeadersPath,
760760
"-I", swiftModuleInterfacesPath,
761761
"-import-objc-header",
762-
"-experimental-explicit-module-build",
762+
"-explicit-module-build",
763763
"-working-directory", path.pathString,
764764
"-disable-clang-target",
765765
main.pathString] + sdkArgumentsForTesting,
@@ -842,7 +842,7 @@ final class ExplicitModuleBuildTests: XCTestCase {
842842
var driver = try Driver(args: ["swiftc",
843843
"-I", cHeadersPath,
844844
"-I", swiftModuleInterfacesPath,
845-
"-experimental-explicit-module-build",
845+
"-explicit-module-build",
846846
"-working-directory", path.pathString,
847847
"-disable-clang-target",
848848
main.pathString] + sdkArgumentsForTesting,

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2608,7 +2608,7 @@ final class SwiftDriverTests: XCTestCase {
26082608
try localFileSystem.writeFileContents(main) {
26092609
$0 <<< "import Swift"
26102610
}
2611-
var driver = try Driver(args: ["swiftc", "-experimental-explicit-module-build", "-target",
2611+
var driver = try Driver(args: ["swiftc", "-explicit-module-build", "-target",
26122612
"x86_64-apple-macosx10.14", main.pathString])
26132613
guard driver.isFrontendArgSupported(.clangTarget) else {
26142614
throw XCTSkip("Skipping: compiler does not support '-clang-target'")
@@ -2625,7 +2625,7 @@ final class SwiftDriverTests: XCTestCase {
26252625
$0 <<< "import Swift"
26262626
}
26272627
var driver = try Driver(args: ["swiftc", "-disable-clang-target",
2628-
"-experimental-explicit-module-build", "-target",
2628+
"-explicit-module-build", "-target",
26292629
"x86_64-apple-macosx10.14", main.pathString])
26302630
guard driver.isFrontendArgSupported(.clangTarget) else {
26312631
throw XCTSkip("Skipping: compiler does not support '-clang-target'")

0 commit comments

Comments
 (0)