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