| // Include the common option parsing interfaces. |
| include "llvm/Option/OptParser.td" |
| |
| class FF<string name, string help>: Flag<["-", "--"], name>, HelpText<help>; |
| multiclass JS<string name, string help, string var = ""> { |
| def NAME #_EQ : Joined<["--"], name #"=">, HelpText<help>, MetaVarName<var>; |
| def : Separate<["-", "--"], name>, Alias<!cast<Joined>(NAME #_EQ)>; |
| } |
| |
| // |
| // Top level operations |
| // |
| def action_group : OptionGroup<"action group">; |
| def compare : FF<"compare", "compare tapi files for library differences">, Group<action_group>; |
| def merge : FF<"merge", "merge the input files that represent the same library">, Group<action_group>; |
| def extract: FF<"extract", "extract architecture from input file">, Group<action_group>; |
| def remove: FF<"remove", "remove architecture from input file">, Group<action_group>; |
| |
| // |
| // General Driver options |
| // |
| def help : FF<"help", "display this help">; |
| defm output: JS<"o", "write output to <file>","<file>">; |
| def compact: FF<"compact", "write compact tapi output file">; |
| defm filetype: JS<"filetype", "specify the output file type (tbd-v3, tbd-v4 or tbd-v5)","<value>">; |
| defm arch: JS<"arch", "specify the architecture", "<architecture>">; |