xref: /freebsd/contrib/llvm-project/llvm/lib/ToolDrivers/llvm-lib/Options.td (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
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