@@ -55,6 +55,9 @@ def ModuleInterfaceOption : OptionFlag;
55
55
// for a supplementary output. E.g., `-emit-module` and `-emit-module-path`.
56
56
def SupplementaryOutput : OptionFlag;
57
57
58
+ // The option should be accepted by swift-api-extract.
59
+ def SwiftAPIExtractOption : OptionFlag;
60
+
58
61
/////////
59
62
// Options
60
63
@@ -169,7 +172,8 @@ def driver_mode : Joined<["--"], "driver-mode=">, Flags<[HelpHidden]>,
169
172
HelpText<"Set the driver mode to either 'swift' or 'swiftc'">;
170
173
171
174
def help : Flag<["-", "--"], "help">,
172
- Flags<[FrontendOption, AutolinkExtractOption, ModuleWrapOption, SwiftIndentOption]>,
175
+ Flags<[FrontendOption, AutolinkExtractOption, ModuleWrapOption,
176
+ SwiftIndentOption, SwiftAPIExtractOption]>,
173
177
HelpText<"Display available options">;
174
178
def h : Flag<["-"], "h">, Alias<help>;
175
179
def help_hidden : Flag<["-", "--"], "help-hidden">,
@@ -191,16 +195,17 @@ def _DASH_DASH : Option<["--"], "", KIND_REMAINING_ARGS>,
191
195
192
196
def o : JoinedOrSeparate<["-"], "o">,
193
197
Flags<[FrontendOption, AutolinkExtractOption, ModuleWrapOption,
194
- NoInteractiveOption, SwiftIndentOption, ArgumentIsPath]>,
198
+ NoInteractiveOption, SwiftIndentOption, ArgumentIsPath,
199
+ SwiftAPIExtractOption]>,
195
200
HelpText<"Write output to <file>">, MetaVarName<"<file>">;
196
201
197
202
def j : JoinedOrSeparate<["-"], "j">, Flags<[DoesNotAffectIncrementalBuild]>,
198
203
HelpText<"Number of commands to execute in parallel">, MetaVarName<"<n>">;
199
204
200
- def sdk : Separate<["-"], "sdk">, Flags<[FrontendOption, ArgumentIsPath]>,
205
+ def sdk : Separate<["-"], "sdk">, Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption ]>,
201
206
HelpText<"Compile against <sdk>">, MetaVarName<"<sdk>">;
202
207
203
- def swift_version : Separate<["-"], "swift-version">, Flags<[FrontendOption, ModuleInterfaceOption]>,
208
+ def swift_version : Separate<["-"], "swift-version">, Flags<[FrontendOption, ModuleInterfaceOption, SwiftAPIExtractOption ]>,
204
209
HelpText<"Interpret input according to a specific Swift language version number">,
205
210
MetaVarName<"<vers>">;
206
211
@@ -217,16 +222,16 @@ def tools_directory : Separate<["-"], "tools-directory">,
217
222
def D : JoinedOrSeparate<["-"], "D">, Flags<[FrontendOption]>,
218
223
HelpText<"Marks a conditional compilation flag as true">;
219
224
220
- def F : JoinedOrSeparate<["-"], "F">, Flags<[FrontendOption, ArgumentIsPath]>,
225
+ def F : JoinedOrSeparate<["-"], "F">, Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption ]>,
221
226
HelpText<"Add directory to framework search path">;
222
227
def F_EQ : Joined<["-"], "F=">, Flags<[FrontendOption, ArgumentIsPath]>,
223
228
Alias<F>;
224
229
225
230
def Fsystem : Separate<["-"], "Fsystem">,
226
- Flags<[FrontendOption, ArgumentIsPath]>,
231
+ Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption ]>,
227
232
HelpText<"Add directory to system framework search path">;
228
233
229
- def I : JoinedOrSeparate<["-"], "I">, Flags<[FrontendOption, ArgumentIsPath]>,
234
+ def I : JoinedOrSeparate<["-"], "I">, Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption ]>,
230
235
HelpText<"Add directory to the import search path">;
231
236
def I_EQ : Joined<["-"], "I=">, Flags<[FrontendOption, ArgumentIsPath]>,
232
237
Alias<I>;
@@ -372,7 +377,7 @@ def localization_path : Separate<["-"], "localization-path">,
372
377
MetaVarName<"<path>">;
373
378
374
379
def module_cache_path : Separate<["-"], "module-cache-path">,
375
- Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath]>,
380
+ Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath, SwiftAPIExtractOption ]>,
376
381
HelpText<"Specifies the Clang module cache path">;
377
382
378
383
def enable_library_evolution : Flag<["-"], "enable-library-evolution">,
@@ -393,7 +398,7 @@ def define_availability : Separate<["-"], "define-availability">,
393
398
MetaVarName<"<macro>">;
394
399
395
400
def module_name : Separate<["-"], "module-name">,
396
- Flags<[FrontendOption, ModuleInterfaceOption]>,
401
+ Flags<[FrontendOption, ModuleInterfaceOption, SwiftAPIExtractOption ]>,
397
402
HelpText<"Name of the module to build">;
398
403
def module_name_EQ : Joined<["-"], "module-name=">, Flags<[FrontendOption]>,
399
404
Alias<module_name>;
@@ -663,7 +668,7 @@ def framework : Separate<["-"], "framework">, Group<linker_option_Group>,
663
668
HelpText<"Specifies a framework which should be linked against">;
664
669
665
670
def L : JoinedOrSeparate<["-"], "L">, Group<linker_option_Group>,
666
- Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath]>,
671
+ Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath, SwiftAPIExtractOption ]>,
667
672
HelpText<"Add directory to library link search path">;
668
673
def L_EQ : Joined<["-"], "L=">, Group<linker_option_Group>,
669
674
Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath]>,
@@ -1027,7 +1032,7 @@ def resource_dir : Separate<["-"], "resource-dir">,
1027
1032
HelpText<"The directory that holds the compiler resource files">;
1028
1033
1029
1034
def target : Separate<["-"], "target">,
1030
- Flags<[FrontendOption, ModuleWrapOption, ModuleInterfaceOption]>,
1035
+ Flags<[FrontendOption, ModuleWrapOption, ModuleInterfaceOption, SwiftAPIExtractOption ]>,
1031
1036
HelpText<"Generate code for the given target <triple>, such as x86_64-apple-macos10.9">, MetaVarName<"<triple>">;
1032
1037
def target_legacy_spelling : Joined<["--"], "target=">,
1033
1038
Flags<[FrontendOption]>, Alias<target>;
@@ -1146,7 +1151,7 @@ def working_directory_EQ : Joined<["-"], "working-directory=">,
1146
1151
// VFS
1147
1152
1148
1153
def vfsoverlay : JoinedOrSeparate<["-"], "vfsoverlay">,
1149
- Flags<[FrontendOption, ArgumentIsPath]>,
1154
+ Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption ]>,
1150
1155
HelpText<"Add directory to VFS overlay file">;
1151
1156
def vfsoverlay_EQ : Joined<["-"], "vfsoverlay=">,
1152
1157
Alias<vfsoverlay>;
@@ -1177,4 +1182,8 @@ def emit_symbol_graph_dir : Separate<["-"], "emit-symbol-graph-dir">,
1177
1182
HelpText<"Emit a symbol graph to directory <dir>">,
1178
1183
MetaVarName<"<dir>">;
1179
1184
1185
+ // Swift API Extraction only options
1186
+ def pretty_print: Flag<["-"], "pretty-print">, Flags<[SwiftAPIExtractOption]>,
1187
+ HelpText<"Pretty-print the output JSON">;
1188
+
1180
1189
include "FrontendOptions.td"
0 commit comments