xref: /llvm-project/llvm/tools/llvm-rc/WindresOpts.td (revision 2bcc0fdc58a220cb9921b47ec8a32c85f2511a47)
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