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