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