229 lines · plain
1include "llvm/Option/OptParser.td"2 3class F<string name>: Flag<["--", "-"], name>;4 5def grp_general : OptionGroup<"Dsymutil">, HelpText<"Dsymutil Options">;6 7def help: F<"help">,8 HelpText<"Prints this help output.">,9 Group<grp_general>;10def: Flag<["-"], "h">,11 Alias<help>,12 HelpText<"Alias for --help">,13 Group<grp_general>;14 15def version: F<"version">,16 HelpText<"Prints the dsymutil version.">,17 Group<grp_general>;18def: Flag<["-"], "v">,19 Alias<version>,20 HelpText<"Alias for --version">,21 Group<grp_general>;22 23def verbose: F<"verbose">,24 HelpText<"Enable verbose mode.">,25 Group<grp_general>;26 27def quiet: F<"quiet">,28 HelpText<"Enable quiet mode.">,29 Group<grp_general>;30def: Flag<["-"], "q">,31 Alias<quiet>,32 HelpText<"Alias for --quiet">,33 Group<grp_general>;34 35def keep_func_for_static: F<"keep-function-for-static">,36 HelpText<"Make a static variable keep the enclosing function even if it would have been omitted otherwise.">,37 Group<grp_general>;38 39def statistics: F<"statistics">,40 HelpText<"Print statistics about the contribution of each object file to "41 "the linked debug info. This prints a table after linking with the "42 "object file name, the size of the debug info in the object file "43 "(in bytes) and the size contributed (in bytes) to the linked dSYM. "44 "The table is sorted by the output size listing the object files "45 "with the largest contribution first.">,46 Group<grp_general>;47 48def verify: F<"verify">,49 HelpText<"Alias for --verify-dwarf=output">,50 Group<grp_general>;51 52def verify_dwarf: Separate<["--", "-"], "verify-dwarf">,53 MetaVarName<"<verification mode>">,54 HelpText<"Run the DWARF verifier on the input and/or output. "55 "Valid options are 'none, 'input', 'output', 'all' or 'auto' "56 "which runs the output verifier only if input verification passed.">,57 Group<grp_general>;58def: Joined<["--", "-"], "verify-dwarf=">, Alias<verify_dwarf>;59 60def no_output: F<"no-output">,61 HelpText<"Do the link in memory, but do not emit the result file.">,62 Group<grp_general>;63 64def no_swiftmodule_timestamp: F<"no-swiftmodule-timestamp">,65 HelpText<"Don't check timestamp for swiftmodule files.">,66 Group<grp_general>;67 68def no_object_timestamp: F<"no-object-timestamp">,69 HelpText<"Don't check timestamp for object files.">,70 Group<grp_general>;71 72def no_odr: F<"no-odr">,73 HelpText<"Do not use ODR (One Definition Rule) for type uniquing.">,74 Group<grp_general>;75 76def dump_debug_map: F<"dump-debug-map">,77 HelpText<"Parse and dump the debug map to standard output. No DWARF link will take place.">,78 Group<grp_general>;79 80def yaml_input: Flag<["-", "--"], "y">,81 HelpText<"Treat the input file is a YAML debug map rather than a binary.">,82 Group<grp_general>;83 84def assembly: Flag<["-", "--"], "S">,85 HelpText<"Output textual assembly instead of a binary dSYM companion file.">,86 Group<grp_general>;87 88def symtab: F<"symtab">,89 HelpText<"Dumps the symbol table found in executable or object file(s) and exits.">,90 Group<grp_general>;91def: Flag<["-"], "s">,92 Alias<symtab>,93 HelpText<"Alias for --symtab">,94 Group<grp_general>;95 96def flat: F<"flat">,97 HelpText<"Produce a flat dSYM file (not a bundle). Intended for testing and generally unsupported by tools that consume dSYMs.">,98 Group<grp_general>;99def: Flag<["-"], "f">,100 Alias<flat>,101 HelpText<"Alias for --flat">,102 Group<grp_general>;103 104def fat64: F<"fat64">,105 HelpText<"Use a 64-bit header when emitting universal binaries.">,106 Group<grp_general>;107 108def update: F<"update">,109 HelpText<"Updates existing dSYM files to contain the latest accelerator tables and other DWARF optimizations.">,110 Group<grp_general>;111def: Flag<["-"], "u">,112 Alias<update>,113 HelpText<"Alias for --update">,114 Group<grp_general>;115 116def output: Separate<["-", "--"], "o">,117 MetaVarName<"<filename>">,118 HelpText<"Specify the output file. Defaults to <input file>.dwarf">,119 Group<grp_general>;120def: Separate<["--", "-"], "out">,121 MetaVarName<"<filename>">,122 Alias<output>,123 HelpText<"Alias for -o">,124 Group<grp_general>;125def: Joined<["--", "-"], "out=">, Alias<output>;126def: Joined<["-", "--"], "o=">, Alias<output>;127 128def oso_prepend_path: Separate<["--", "-"], "oso-prepend-path">,129 MetaVarName<"<path>">,130 HelpText<"Specify a directory to prepend to the paths of object files.">,131 Group<grp_general>;132def: Joined<["--", "-"], "oso-prepend-path=">, Alias<oso_prepend_path>;133 134def object_prefix_map: Separate<["--", "-"], "object-prefix-map">,135 MetaVarName<"<prefix=remapped>">,136 HelpText<"Remap object file paths (but no source paths) before processing. "137 "Use this for Clang objects where the module cache location was "138 "remapped using -fdebug-prefix-map; to help dsymutil "139 "find the Clang module cache.">,140 Group<grp_general>;141def: Joined<["--", "-"], "object-prefix-map=">, Alias<object_prefix_map>;142 143def arch: Separate<["--", "-"], "arch">,144 MetaVarName<"<arch>">,145 HelpText<"Link DWARF debug information only for specified CPU architecture "146 "types. This option can be specified multiple times, once for each "147 "desired architecture. All CPU architectures will be linked by "148 "default.">,149 Group<grp_general>;150def: Joined<["--", "-"], "arch=">, Alias<arch>;151 152def accelerator: Separate<["--", "-"], "accelerator">,153 MetaVarName<"<accelerator type>">,154 HelpText<"Specify the desired type of accelerator table. Valid options are 'Apple' (.apple_names, .apple_namespaces, .apple_types, .apple_objc), 'Dwarf' (.debug_names), 'Pub' (.debug_pubnames, .debug_pubtypes), 'Default' and 'None'">,155 Group<grp_general>;156def: Joined<["--", "-"], "accelerator=">, Alias<accelerator>;157 158def toolchain: Separate<["--", "-"], "toolchain">,159 MetaVarName<"<toolchain>">,160 HelpText<"Embed toolchain information in dSYM bundle.">,161 Group<grp_general>;162 163def threads: Separate<["--", "-"], "num-threads">,164 MetaVarName<"<threads>">,165 HelpText<"Specifies the maximum number of simultaneous threads to use when linking multiple architectures.">,166 Group<grp_general>;167def: Separate<["-"], "j">,168 MetaVarName<"<threads>">,169 HelpText<"Alias for --num-threads">,170 Group<grp_general>;171 172def reproducer: Separate<["--", "-"], "reproducer">,173 MetaVarName<"<mode>">,174 HelpText<"Specify the reproducer generation mode. Valid options are 'GenerateOnExit', 'GenerateOnCrash', 'Off'.">,175 Group<grp_general>;176def: Joined<["--", "-"], "reproducer=">, Alias<reproducer>;177 178def gen_reproducer: F<"gen-reproducer">,179 HelpText<"Generate a reproducer consisting of the input object files. Alias for --reproducer=GenerateOnExit.">,180 Group<grp_general>;181 182def use_reproducer: Separate<["--", "-"], "use-reproducer">,183 MetaVarName<"<path>">,184 HelpText<"Use the object files from the given reproducer path.">,185 Group<grp_general>;186def: Joined<["--", "-"], "use-reproducer=">, Alias<use_reproducer>;187 188def remarks_prepend_path: Separate<["--", "-"], "remarks-prepend-path">,189 MetaVarName<"<path>">,190 HelpText<"Specify a directory to prepend to the paths of the external remark files.">,191 Group<grp_general>;192def: Joined<["--", "-"], "remarks-prepend-path=">, Alias<remarks_prepend_path>;193 194def remarks_output_format: Separate<["--", "-"], "remarks-output-format">,195 MetaVarName<"<format>">,196 HelpText<"Specify the format to be used when serializing the linked remarks.">,197 Group<grp_general>;198def: Joined<["--", "-"], "remarks-output-format=">, Alias<remarks_output_format>;199 200def remarks_drop_without_debug: Flag<["--", "-"], "remarks-drop-without-debug">,201 HelpText<"Drop remarks without valid debug locations. Without this flags, "202 "all remarks are kept.">,203 Group<grp_general>;204 205def include_swiftmodules_from_interface: Flag<["--", "-"], "include-swiftmodules-from-interface">,206 HelpText<"Whether or not to copy binary swiftmodules built from textual "207 ".swiftinterface files into the dSYM bundle. These typically come only "208 "from the SDK (since textual interfaces require library evolution) and "209 "thus are a waste of space to copy into the bundle. Turn this on if the "210 "swiftmodules are different from those in the SDK.">,211 Group<grp_general>;212 213def linker: Separate<["--", "-"], "linker">,214 MetaVarName<"<DWARF linker type>">,215 HelpText<"Specify the desired type of DWARF linker. Defaults to 'classic'">,216 Group<grp_general>;217def: Joined<["--", "-"], "linker=">, Alias<linker>;218 219def build_variant_suffix: Separate<["--", "-"], "build-variant-suffix">,220 MetaVarName<"<suffix=buildvariant>">,221 HelpText<"Specify the build variant suffix used to build the executable file.">,222 Group<grp_general>;223def: Joined<["--", "-"], "build-variant-suffix=">, Alias<build_variant_suffix>;224 225def dsym_search_path: Separate<["-", "--"], "D">,226 MetaVarName<"<path>">,227 HelpText<"Specify a directory that contain dSYM files to search for.">,228 Group<grp_general>;229