1include "llvm/Option/OptParser.td"
2
3// All the switches can be preceded by either '/' or '-'.
4// These options seem to be important for the tool
5// and should be implemented.
6
7class S<string name, string help> :
8      Separate<["/", "-"], name>, HelpText<help>;
9
10class JS<string name, string help> :
11      JoinedOrSeparate<["/", "-"], name>, HelpText<help>;
12
13class F<string name, string help> : Flag<["/", "-"], name>, HelpText<help>;
14
15class F_nodoc<string name> : Flag<["/", "-"], name>;
16class S_nodoc<string name> : Separate<["/", "-"], name>;
17
18def fileout : JS<"FO", "Change the output file location.">;
19
20def define : JS<"D", "Define a symbol for the C preprocessor.">;
21def undef : JS<"U", "Undefine a symbol for the C preprocessor.">;
22
23def lang_id : JS<"L", "Set the default language identifier.">;
24def lang_name : S<"LN", "Set the default language name.">;
25
26def includepath : JS<"I", "Add an include path.">;
27def noinclude : F<"X", "Ignore 'include' variable.">;
28
29def add_null : F<"N", "Null-terminate all strings in the string table.">;
30
31def dupid_nowarn : F<"Y", "Suppress warnings on duplicate resource IDs.">;
32
33def verbose : F<"V", "Be verbose.">;
34def help : F<"?", "Display this help and exit.">;
35def h : F<"H", "Display this help and exit.">, Alias<help>;
36
37def codepage : JS<"C", "Set the codepage used for input strings.">;
38
39// llvm-rc specific options:
40
41def dry_run : F<"dry-run", "Don't compile the input; only try to parse it.">;
42
43def no_preprocess : F<"no-preprocess", "Don't try to preprocess the input file.">;
44
45// Print (but do not run) the commands to run for preprocessing
46def _HASH_HASH_HASH : F_nodoc<"###">;
47
48// Unused switches (at least for now). These will stay unimplemented
49// in an early stage of development and can be ignored. However, we need to
50// parse them in order to preserve the compatibility with the original tool.
51
52def nologo : F_nodoc<"NOLOGO">;
53def r : F_nodoc<"R">;
54def sl : F_nodoc<"SL">;
55
56// (Codepages support.)
57def w : F_nodoc<"W">;
58
59// (Support of MUI and similar.)
60def fm : S_nodoc<"FM">;
61def q : S_nodoc<"Q">;
62def g : F_nodoc<"G">;
63def gn : F_nodoc<"GN">;
64def g1 : F_nodoc<"G1">;
65def g2 : F_nodoc<"G2">;
66