@@ -626,16 +626,6 @@ def experimental_cxx_stdlib :
626
626
Flags<[HelpHidden]>,
627
627
HelpText<"C++ standard library to use; forwarded to Clang's -stdlib flag">;
628
628
629
- def experimental_emit_module_separately:
630
- Flag<["-"], "experimental-emit-module-separately">,
631
- Flags<[NoInteractiveOption, HelpHidden]>,
632
- HelpText<"Emit module files as a distinct job (new Driver only)">;
633
-
634
- def no_emit_module_separately:
635
- Flag<["-"], "no-emit-module-separately">,
636
- Flags<[NoInteractiveOption, HelpHidden]>,
637
- HelpText<"Force using merge-module as the incremental build mode (new Driver only)">;
638
-
639
629
def experimental_hermetic_seal_at_link:
640
630
Flag<["-"], "experimental-hermetic-seal-at-link">,
641
631
Flags<[FrontendOption, HelpHidden]>,
@@ -1543,4 +1533,138 @@ def use_interface_for_module: Separate<["-", "--"], "use-interface-for-module">,
1543
1533
HelpText<"Prefer loading these modules via interface">,
1544
1534
MetaVarName<"<name>">;
1545
1535
1536
+ // ONLY SUPPORTED IN NEW DRIVER
1537
+
1538
+ // These flags only exist here so that the old driver doesn't fail with unknown
1539
+ // arguments when they're given. The option definitions (and ie. their flags)
1540
+ // matter since they are synced to the new swift-driver. The options themselves
1541
+ // are completely unimplemented in the old driver, however.
1542
+
1543
+ def driver_print_graphviz:
1544
+ Flag<["-"], "driver-print-graphviz">,
1545
+ Flags<[HelpHidden, DoesNotAffectIncrementalBuild, NewDriverOnlyOption]>,
1546
+ HelpText<"Write the job graph as a graphviz file">;
1547
+
1548
+ def driver_explicit_module_build:
1549
+ Flag<["-"], "explicit-module-build">,
1550
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1551
+ HelpText<"Prebuild module dependencies to make them explicit">;
1552
+
1553
+ def driver_experimental_explicit_module_build:
1554
+ Flag<["-"], "experimental-explicit-module-build">,
1555
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1556
+ Alias<driver_explicit_module_build>,
1557
+ HelpText<"Prebuild module dependencies to make them explicit">;
1558
+
1559
+ def driver_scan_dependencies_non_lib:
1560
+ Flag<["-"], "nonlib-dependency-scanner">,
1561
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1562
+ HelpText<"Use calls to `swift-frontend -scan-dependencies` instead of "
1563
+ "dedicated dependency scanning library">;
1564
+
1565
+ def driver_warn_unused_options:
1566
+ Flag<["-"], "driver-warn-unused-options">,
1567
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1568
+ HelpText<"Emit warnings for any provided options which are unused by the "
1569
+ "driver">;
1570
+
1571
+ def emit_module_separately:
1572
+ Flag<["-"], "experimental-emit-module-separately">,
1573
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1574
+ HelpText<"Emit module files as a distinct job">;
1575
+
1576
+ def no_emit_module_separately:
1577
+ Flag<["-"], "no-emit-module-separately">,
1578
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1579
+ HelpText<"Force using merge-module as the incremental build mode">;
1580
+
1581
+ def emit_module_separately_WMO:
1582
+ Flag<["-"], "emit-module-separately-wmo">,
1583
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1584
+ HelpText<"Emit module files as a distinct job in wmo builds">;
1585
+
1586
+ def no_emit_module_separately_WMO:
1587
+ Flag<["-"], "no-emit-module-separately-wmo">,
1588
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1589
+ HelpText<"Force emitting the swiftmodule in the same job in wmo builds">;
1590
+
1591
+ def emit_module_serialize_diagnostics_path:
1592
+ Separate<["-"], "emit-module-serialize-diagnostics-path">,
1593
+ Flags<[ArgumentIsPath, SupplementaryOutput, NewDriverOnlyOption]>,
1594
+ HelpText<"Emit a serialized diagnostics file for the emit-module task to "
1595
+ "<path>">,
1596
+ MetaVarName<"<path>">;
1597
+
1598
+ def emit_module_dependencies_path:
1599
+ Separate<["-"], "emit-module-dependencies-path">,
1600
+ Flags<[ArgumentIsPath, SupplementaryOutput, NewDriverOnlyOption]>,
1601
+ HelpText<"Emit a discovered dependencies file for the emit-module task to "
1602
+ "<path>">,
1603
+ MetaVarName<"<path>">;
1604
+
1605
+ def use_frontend_parseable_output:
1606
+ Flag<["-"], "use-frontend-parseable-output">,
1607
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1608
+ HelpText<"Emit parseable-output from swift-frontend jobs instead of from "
1609
+ "the driver">;
1610
+
1611
+ def print_explicit_dependency_graph:
1612
+ Flag<["-"], "print-explicit-dependency-graph">,
1613
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1614
+ HelpText<"Print the result of module dependency scanning after external "
1615
+ "module resolution to output">;
1616
+
1617
+ def print_preprocessed_explicit_dependency_graph:
1618
+ Flag<["-"], "print-preprocessed-explicit-dependency-graph">,
1619
+ Flags<[HelpHidden, NewDriverOnlyOption]>,
1620
+ HelpText<"Print the result of module dependency scanning to output">;
1621
+
1622
+ def emit_digester_baseline:
1623
+ Flag<["-"], "emit-digester-baseline">,
1624
+ Flags<[NoInteractiveOption, SupplementaryOutput, NewDriverOnlyOption]>,
1625
+ HelpText<"Emit a baseline file for the module using the API digester">;
1626
+
1627
+ def emit_digester_baseline_path:
1628
+ Separate<["-"], "emit-digester-baseline-path">,
1629
+ Flags<[NoInteractiveOption, ArgumentIsPath, SupplementaryOutput,
1630
+ NewDriverOnlyOption]>,
1631
+ HelpText<"Emit a baseline file for the module to <path> using the API "
1632
+ "digester">,
1633
+ MetaVarName<"<path>">;
1634
+
1635
+ def compare_to_baseline_path:
1636
+ Separate<["-"], "compare-to-baseline-path">,
1637
+ Flags<[NoInteractiveOption, ArgumentIsPath, NewDriverOnlyOption]>,
1638
+ HelpText<"Compare the built module to the baseline at <path> and diagnose "
1639
+ "breaking changes using the API digester">,
1640
+ MetaVarName<"<path>">;
1641
+
1642
+ def serialize_breaking_changes_path:
1643
+ Separate<["-"], "serialize-breaking-changes-path">,
1644
+ Flags<[NoInteractiveOption, ArgumentIsPath, NewDriverOnlyOption]>,
1645
+ HelpText<"Serialize breaking changes found by the API digester to <path>">,
1646
+ MetaVarName<"<path>">;
1647
+
1648
+ def digester_breakage_allowlist_path:
1649
+ Separate<["-"], "digester-breakage-allowlist-path">,
1650
+ Flags<[NoInteractiveOption, ArgumentIsPath, NewDriverOnlyOption]>,
1651
+ HelpText<"The path to a list of permitted breaking changes the API digester "
1652
+ "should ignore">,
1653
+ MetaVarName<"<path>">;
1654
+
1655
+ def digester_mode:
1656
+ Separate<["-"], "digester-mode">,
1657
+ Flags<[NoInteractiveOption, NewDriverOnlyOption]>,
1658
+ HelpText<"Whether the API digester should run in API or ABI mode (defaults "
1659
+ "to API checking)">,
1660
+ MetaVarName<"<api|abi>">;
1661
+
1662
+ def nostartfiles:
1663
+ Flag<["-"], "nostartfiles">,
1664
+ Flags<[FrontendOption, DoesNotAffectIncrementalBuild, NoInteractiveOption,
1665
+ HelpHidden, NewDriverOnlyOption]>,
1666
+ HelpText<"Do not link in the Swift language startup routines">;
1667
+
1668
+ // END ONLY SUPPORTED IN NEW DRIVER
1669
+
1546
1670
include "FrontendOptions.td"
0 commit comments