| include "llvm/Option/OptParser.td" | |
| multiclass Eq<string name> { | |
| def NAME: Separate<["--", "-"], name>; | |
| def NAME # _eq: Joined<["--", "-"], name # "=">, Alias<!cast<Separate>(NAME)>; | |
| } | |
| def help : Flag<["-", "--"], "help">; | |
| defm output : Eq<"o">, | |
| MetaVarName<"output">, | |
| HelpText<"Write output to <file>">; | |
| def strip_all : Flag<["-", "--"], "strip-all">, | |
| HelpText<"Remove non-allocated sections other than .gnu.warning* sections">; | |
| def strip_debug : Flag<["-", "--"], "strip-debug">, | |
| HelpText<"Remove debugging symbols only">; | |
| def d : Flag<["-"], "d">, | |
| Alias<strip_debug>; | |
| def g : Flag<["-"], "g">, | |
| Alias<strip_debug>; | |
| def S : Flag<["-"], "S">, | |
| Alias<strip_debug>; | |
| defm remove_section : Eq<"remove-section">, | |
| MetaVarName<"section">, | |
| HelpText<"Remove <section>">; | |
| def R : JoinedOrSeparate<["-"], "R">, | |
| Alias<remove_section>; | |
| defm keep_symbol : Eq<"keep-symbol">, | |
| MetaVarName<"symbol">, | |
| HelpText<"Do not remove symbol <symbol>">; | |
| def K : JoinedOrSeparate<["-"], "K">, | |
| Alias<keep_symbol>; | |
| def discard_all : Flag<["-", "--"], "discard-all">, | |
| HelpText<"Remove all local symbols except file and section symbols">; | |
| def x : Flag<["-"], "x">, | |
| Alias<discard_all>; | |
| def strip_unneeded : Flag<["-", "--"], "strip-unneeded">, | |
| HelpText<"Remove all symbols not needed by relocations">; |