blob: 8fda035142a2ea087533124e08ae4aa36250db54 [file] [log] [blame]
// 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>">;