@@ -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
@@ -195,7 +198,8 @@ def driver_mode : Joined<["--"], "driver-mode=">, Flags<[HelpHidden]>,
195
198
HelpText<"Set the driver mode to either 'swift' or 'swiftc'">;
196
199
197
200
def help : Flag<["-", "--"], "help">,
198
- Flags<[FrontendOption, AutolinkExtractOption, ModuleWrapOption, SwiftIndentOption]>,
201
+ Flags<[FrontendOption, AutolinkExtractOption, ModuleWrapOption,
202
+ SwiftIndentOption, SwiftAPIExtractOption]>,
199
203
HelpText<"Display available options">;
200
204
def h : Flag<["-"], "h">, Alias<help>;
201
205
def help_hidden : Flag<["-", "--"], "help-hidden">,
@@ -217,16 +221,17 @@ def _DASH_DASH : Option<["--"], "", KIND_REMAINING_ARGS>,
217
221
218
222
def o : JoinedOrSeparate<["-"], "o">,
219
223
Flags<[FrontendOption, AutolinkExtractOption, ModuleWrapOption,
220
- NoInteractiveOption, SwiftIndentOption, ArgumentIsPath]>,
224
+ NoInteractiveOption, SwiftIndentOption, ArgumentIsPath,
225
+ SwiftAPIExtractOption]>,
221
226
HelpText<"Write output to <file>">, MetaVarName<"<file>">;
222
227
223
228
def j : JoinedOrSeparate<["-"], "j">, Flags<[DoesNotAffectIncrementalBuild]>,
224
229
HelpText<"Number of commands to execute in parallel">, MetaVarName<"<n>">;
225
230
226
- def sdk : Separate<["-"], "sdk">, Flags<[FrontendOption, ArgumentIsPath]>,
231
+ def sdk : Separate<["-"], "sdk">, Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption ]>,
227
232
HelpText<"Compile against <sdk>">, MetaVarName<"<sdk>">;
228
233
229
- def swift_version : Separate<["-"], "swift-version">, Flags<[FrontendOption, ModuleInterfaceOption]>,
234
+ def swift_version : Separate<["-"], "swift-version">, Flags<[FrontendOption, ModuleInterfaceOption, SwiftAPIExtractOption ]>,
230
235
HelpText<"Interpret input according to a specific Swift language version number">,
231
236
MetaVarName<"<vers>">;
232
237
@@ -243,16 +248,16 @@ def tools_directory : Separate<["-"], "tools-directory">,
243
248
def D : JoinedOrSeparate<["-"], "D">, Flags<[FrontendOption]>,
244
249
HelpText<"Marks a conditional compilation flag as true">;
245
250
246
- def F : JoinedOrSeparate<["-"], "F">, Flags<[FrontendOption, ArgumentIsPath]>,
251
+ def F : JoinedOrSeparate<["-"], "F">, Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption ]>,
247
252
HelpText<"Add directory to framework search path">;
248
253
def F_EQ : Joined<["-"], "F=">, Flags<[FrontendOption, ArgumentIsPath]>,
249
254
Alias<F>;
250
255
251
256
def Fsystem : Separate<["-"], "Fsystem">,
252
- Flags<[FrontendOption, ArgumentIsPath]>,
257
+ Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption ]>,
253
258
HelpText<"Add directory to system framework search path">;
254
259
255
- def I : JoinedOrSeparate<["-"], "I">, Flags<[FrontendOption, ArgumentIsPath]>,
260
+ def I : JoinedOrSeparate<["-"], "I">, Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption ]>,
256
261
HelpText<"Add directory to the import search path">;
257
262
def I_EQ : Joined<["-"], "I=">, Flags<[FrontendOption, ArgumentIsPath]>,
258
263
Alias<I>;
@@ -398,7 +403,7 @@ def localization_path : Separate<["-"], "localization-path">,
398
403
MetaVarName<"<path>">;
399
404
400
405
def module_cache_path : Separate<["-"], "module-cache-path">,
401
- Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath]>,
406
+ Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath, SwiftAPIExtractOption ]>,
402
407
HelpText<"Specifies the Clang module cache path">;
403
408
404
409
def enable_library_evolution : Flag<["-"], "enable-library-evolution">,
@@ -419,7 +424,7 @@ def define_availability : Separate<["-"], "define-availability">,
419
424
MetaVarName<"<macro>">;
420
425
421
426
def module_name : Separate<["-"], "module-name">,
422
- Flags<[FrontendOption, ModuleInterfaceOption]>,
427
+ Flags<[FrontendOption, ModuleInterfaceOption, SwiftAPIExtractOption ]>,
423
428
HelpText<"Name of the module to build">;
424
429
def module_name_EQ : Joined<["-"], "module-name=">, Flags<[FrontendOption]>,
425
430
Alias<module_name>;
@@ -685,7 +690,7 @@ def framework : Separate<["-"], "framework">, Group<linker_option_Group>,
685
690
HelpText<"Specifies a framework which should be linked against">;
686
691
687
692
def L : JoinedOrSeparate<["-"], "L">, Group<linker_option_Group>,
688
- Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath]>,
693
+ Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath, SwiftAPIExtractOption ]>,
689
694
HelpText<"Add directory to library link search path">;
690
695
def L_EQ : Joined<["-"], "L=">, Group<linker_option_Group>,
691
696
Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath]>,
@@ -1053,7 +1058,7 @@ def resource_dir : Separate<["-"], "resource-dir">,
1053
1058
HelpText<"The directory that holds the compiler resource files">;
1054
1059
1055
1060
def target : Separate<["-"], "target">,
1056
- Flags<[FrontendOption, ModuleWrapOption, ModuleInterfaceOption]>,
1061
+ Flags<[FrontendOption, ModuleWrapOption, ModuleInterfaceOption, SwiftAPIExtractOption ]>,
1057
1062
HelpText<"Generate code for the given target <triple>, such as x86_64-apple-macos10.9">, MetaVarName<"<triple>">;
1058
1063
def target_legacy_spelling : Joined<["--"], "target=">,
1059
1064
Flags<[FrontendOption]>, Alias<target>;
@@ -1169,7 +1174,7 @@ def working_directory_EQ : Joined<["-"], "working-directory=">,
1169
1174
// VFS
1170
1175
1171
1176
def vfsoverlay : JoinedOrSeparate<["-"], "vfsoverlay">,
1172
- Flags<[FrontendOption, ArgumentIsPath]>,
1177
+ Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption ]>,
1173
1178
HelpText<"Add directory to VFS overlay file">;
1174
1179
def vfsoverlay_EQ : Joined<["-"], "vfsoverlay=">,
1175
1180
Alias<vfsoverlay>;
@@ -1189,4 +1194,8 @@ def disable_autolinking_runtime_compatibility_dynamic_replacements
1189
1194
HelpText<"Do not use autolinking for the dynamic replacement runtime "
1190
1195
"compatibility library">;
1191
1196
1197
+ // Swift API Extraction only options
1198
+ def pretty_print: Flag<["-"], "pretty-print">, Flags<[SwiftAPIExtractOption]>,
1199
+ HelpText<"Pretty-print the output JSON">;
1200
+
1192
1201
include "FrontendOptions.td"
0 commit comments