blob: 306a4252a750ba842c62910f6cdb8143b32c41f3 [file] [log] [blame]
Martell Malone894dbbe2017-09-11 17:02:591include "llvm/Option/OptParser.td"
2
3class F<string name>: Flag<["--", "-"], name>;
4class J<string name>: Joined<["--", "-"], name>;
5class S<string name>: Separate<["--", "-"], name>;
6
7def L: JoinedOrSeparate<["-"], "L">, MetaVarName<"<dir>">,
8 HelpText<"Add a directory to the library search path">;
Martin Storsjo094d8c02017-11-15 08:18:119def dynamicbase: F<"dynamicbase">, HelpText<"Enable ASLR">;
Martell Malone894dbbe2017-09-11 17:02:5910def entry: S<"entry">, MetaVarName<"<entry>">,
11 HelpText<"Name of entry point symbol">;
Martin Storsjoa84a4772017-10-12 05:37:1812def export_all_symbols: F<"export-all-symbols">,
13 HelpText<"Export all symbols even if a def file or dllexport attributes are used">;
Rui Ueyamac3e46022017-09-11 20:54:5114def l: JoinedOrSeparate<["-"], "l">, MetaVarName<"<libName>">,
15 HelpText<"Root name of library to use">;
Martell Malone894dbbe2017-09-11 17:02:5916def m: JoinedOrSeparate<["-"], "m">, HelpText<"Set target emulation">;
Martin Storsjo32e16262017-09-13 07:28:0917def no_whole_archive: F<"no-whole-archive">,
18 HelpText<"No longer include all object files for following archives">;
Martin Storsjo3c8d4b52017-11-15 08:18:0619def large_address_aware: Flag<["--"], "large-address-aware">,
20 HelpText<"Enable large addresses">;
Martell Malone894dbbe2017-09-11 17:02:5921def o: JoinedOrSeparate<["-"], "o">, MetaVarName<"<path>">,
22 HelpText<"Path to file to write output">;
Rui Ueyamac3e46022017-09-11 20:54:5123def out_implib: Separate<["--"], "out-implib">, HelpText<"Import library name">;
Martin Storsjo27af6b02017-10-26 20:11:5824def out_implib_eq: Joined<["--"], "out-implib=">, Alias<out_implib>;
Martin Storsjoa84a4772017-10-12 05:37:1825def output_def: S<"output-def">, HelpText<"Output def file">;
Martell Malone894dbbe2017-09-11 17:02:5926def shared: F<"shared">, HelpText<"Build a shared object">;
Rui Ueyama1f4cdcf2017-09-14 18:33:2127def subs: S<"subsystem">, HelpText<"Specify subsystem">;
28def stack: S<"stack">;
Martin Storsjo068512d2017-11-03 22:10:3729def strip_all: F<"strip-all">,
30 HelpText<"Omit all symbol information from the output binary">;
Martin Storsjo32e16262017-09-13 07:28:0931def whole_archive: F<"whole-archive">,
32 HelpText<"Include all object files for following archives">;
Martin Storsjoa79762a2017-09-11 20:43:3933def verbose: F<"verbose">, HelpText<"Verbose mode">;
34
35// LLD specific options
36def _HASH_HASH_HASH : Flag<["-"], "###">,
37 HelpText<"Print (but do not run) the commands to run for this compilation">;
Martin Storsjo107b5482017-11-03 07:18:3738def mllvm: S<"mllvm">;
39def Xlink : J<"Xlink=">, MetaVarName<"<arg>">,
40 HelpText<"Pass <arg> to the COFF linker">;
Martell Malone894dbbe2017-09-11 17:02:5941
42// Currently stubs to avoid errors
43def Bdynamic: F<"Bdynamic">, HelpText<"Link against shared libraries">;
44def Bstatic: F<"Bstatic">, HelpText<"Do not link against shared libraries">;
Rui Ueyamac3e46022017-09-11 20:54:5145def O: Joined<["-"], "O">, HelpText<"Optimize output file size">;
Rui Ueyama1f4cdcf2017-09-14 18:33:2146def enable_auto_image_base: F<"enable-auto-image-base">;
Martin Storsjoab9c98c2017-10-26 20:12:0147def enable_auto_import: F<"enable-auto-import">;
Martell Malone894dbbe2017-09-11 17:02:5948def full_shutdown: Flag<["--"], "full-shutdown">;
Martin Storsjo094d8c02017-11-15 08:18:1149def high_entropy_va: F<"high-entropy-va">, HelpText<"Enable 64-bit ASLR">;
Rui Ueyama1f4cdcf2017-09-14 18:33:2150def major_image_version: S<"major-image-version">;
51def minor_image_version: S<"minor-image-version">;
Martin Storsjo094d8c02017-11-15 08:18:1152def nxcompat: F<"nxcompat">, HelpText<"Enable data execution prevention">;
Martin Storsjo5d5aa212017-09-11 20:43:4353def sysroot: J<"sysroot">, HelpText<"Sysroot">;
Martin Storsjo094d8c02017-11-15 08:18:1154def tsaware: F<"tsaware">, HelpText<"Create Terminal Server aware executable">;
Martell Malone894dbbe2017-09-11 17:02:5955def v: Flag<["-"], "v">, HelpText<"Display the version number">;
Martell Malone894dbbe2017-09-11 17:02:5956def version: F<"version">, HelpText<"Display the version number and exit">;
57
58// Alias
59def alias_entry_e: JoinedOrSeparate<["-"], "e">, Alias<entry>;
Martin Storsjo068512d2017-11-03 22:10:3760def alias_strip_s: Flag<["-"], "s">, Alias<strip_all>;