brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 42a56db Raw
64 lines · plain
1include "llvm/Option/OptParser.td"2 3multiclass Long<string name, string help> {4  def NAME: Separate<["--"], name>;5  def NAME # _eq: Joined<["--"], name # "=">, Alias<!cast<Separate>(NAME)>,6    HelpText<help>;7}8 9multiclass LongAlias<string name, Option orig> {10  def NAME: Separate<["--"], name>, Alias<orig>;11  def NAME # _eq: Joined<["--"], name # "=">, Alias<orig>;12}13 14multiclass LongShort<string short, string long, string help> {15  def NAME: Separate<["--"], long>;16  def NAME # _eq: Joined<["--"], long # "=">, Alias<!cast<Separate>(NAME)>,17    HelpText<help>;18  def NAME # _short: JoinedOrSeparate<["-"], short>, Alias<!cast<Separate>(NAME)>;19}20 21multiclass F<string short, string long, string help> {22  def NAME: Flag<["-"], short>;23  def NAME # _long: Flag<["--"], long>, Alias<!cast<Flag>(NAME)>,24    HelpText<help>;25}26 27defm input : LongShort<"i", "input", "Input file">;28 29defm output : LongShort<"o", "output", "Output file">;30 31defm input_format : LongShort<"J", "input-format", "Input format">;32 33defm output_format : LongShort<"O", "output-format", "Output format">;34 35defm preprocessor : Long<"preprocessor", "Custom preprocessor command">;36defm preprocessor_arg : Long<"preprocessor-arg", "Preprocessor command argument">;37 38defm target : LongShort<"F", "target", "Target BFD format name">;39 40defm include_dir : LongShort<"I", "include-dir", "Include directory">;41defm include_alias : LongAlias<"include", include_dir>;42 43defm define : LongShort<"D", "define", "Define to pass to the preprocessor">;44 45defm undef : LongShort<"U", "undefine", "Undefine to pass to the preprocessor">;46 47defm codepage : LongShort<"c", "codepage", "Default codepage to use">;48 49defm language : LongShort<"l", "language", "Default language to use (0x0-0xffff)">;50 51def use_temp_file: Flag<["--"], "use-temp-file">,52                   HelpText<"Mimic GNU windres preprocessor option handling "53                            "(don't unescape preprocessor options)">;54 55defm verbose : F<"v", "verbose", "Enable verbose output">;56defm version : F<"V", "version", "Display version">;57 58defm help : F<"h", "help", "Display this message and exit">;59 60// Print (but do not run) the commands to run for preprocessing61def _HASH_HASH_HASH : Flag<["-"], "###">;62 63def no_preprocess : Flag<["--"], "no-preprocess">;64