1include "llvm/Option/OptParser.td" 2 3// lib.exe accepts options starting with either a dash or a slash. 4 5// Flag that takes no arguments. 6class F<string name> : Flag<["/", "-", "/?", "-?"], name>; 7 8// Flag that takes one argument after ":". 9class P<string name, string help> : 10 Joined<["/", "-", "/?", "-?"], name#":">, HelpText<help>; 11 12def libpath: P<"libpath", "Object file search path">; 13 14// Can't be called "list" since that's a keyword. 15def lst : F<"list">, HelpText<"List contents of .lib file on stdout">; 16def out : P<"out", "Path to file to write output">; 17 18def llvmlibthin : F<"llvmlibthin">, 19 HelpText<"Make .lib point to .obj files instead of copying their contents">; 20 21def llvmlibempty : F<"llvmlibempty">, 22 HelpText<"When given no contents, produce an empty .lib file">; 23 24def machine: P<"machine", "Specify target platform">; 25 26def help : F<"help">; 27 28// /?? and -?? must be before /? and -? to not confuse lib/Options. 29def help_q : Flag<["/??", "-??", "/?", "-?"], "">, Alias<help>; 30 31//============================================================================== 32// The flags below do nothing. They are defined only for lib.exe compatibility. 33//============================================================================== 34 35class QF<string name> : Joined<["/", "-", "/?", "-?"], name#":">; 36 37def ignore : QF<"ignore">; 38def nologo : F<"nologo">; 39