include "llvm/Option/OptParser.td" class F<string name>: Flag<["--", "-"], name>; def grp_general : OptionGroup<"Dsymutil">, HelpText<"Dsymutil Options">; def help: F<"help">, HelpText<"Prints this help output.">, Group<grp_general>; def: Flag<["-"], "h">, Alias<help>, HelpText<"Alias for --help">, Group<grp_general>; def version: F<"version">, HelpText<"Prints the dsymutil version.">, Group<grp_general>; def: Flag<["-"], "v">, Alias<version>, HelpText<"Alias for --version">, Group<grp_general>; def verbose: F<"verbose">, HelpText<"Enable verbose mode.">, Group<grp_general>; def keep_func_for_static: F<"keep-function-for-static">, HelpText<"Make a static variable keep the enclosing function even if it would have been omitted otherwise.">, Group<grp_general>; def statistics: F<"statistics">, HelpText<"Print statistics about the contribution of each object file to " "the linked debug info. This prints a table after linking with the " "object file name, the size of the debug info in the object file " "(in bytes) and the size contributed (in bytes) to the linked dSYM. " "The table is sorted by the output size listing the object files " "with the largest contribution first.">, Group<grp_general>; def verify: F<"verify">, HelpText<"Alias for --verify-dwarf=output">, Group<grp_general>; def verify_dwarf: Separate<["--", "-"], "verify-dwarf">, MetaVarName<"<verification mode>">, HelpText<"Run the DWARF verifier on the input and/or output. Valid options are 'input', 'output', 'all' or 'none'.">, Group<grp_general>; def: Joined<["--", "-"], "verify-dwarf=">, Alias<verify_dwarf>; def no_output: F<"no-output">, HelpText<"Do the link in memory, but do not emit the result file.">, Group<grp_general>; def no_swiftmodule_timestamp: F<"no-swiftmodule-timestamp">, HelpText<"Don't check timestamp for swiftmodule files.">, Group<grp_general>; def no_odr: F<"no-odr">, HelpText<"Do not use ODR (One Definition Rule) for type uniquing.">, Group<grp_general>; def dump_debug_map: F<"dump-debug-map">, HelpText<"Parse and dump the debug map to standard output. No DWARF link will take place.">, Group<grp_general>; def yaml_input: Flag<["-", "--"], "y">, HelpText<"Treat the input file is a YAML debug map rather than a binary.">, Group<grp_general>; def papertrail: F<"papertrail">, HelpText<"Embed warnings in the linked DWARF debug info.">, Group<grp_general>; def assembly: Flag<["-", "--"], "S">, HelpText<"Output textual assembly instead of a binary dSYM companion file.">, Group<grp_general>; def symtab: F<"symtab">, HelpText<"Dumps the symbol table found in executable or object file(s) and exits.">, Group<grp_general>; def: Flag<["-"], "s">, Alias<symtab>, HelpText<"Alias for --symtab">, Group<grp_general>; def flat: F<"flat">, HelpText<"Produce a flat dSYM file (not a bundle).">, Group<grp_general>; def: Flag<["-"], "f">, Alias<flat>, HelpText<"Alias for --flat">, Group<grp_general>; def update: F<"update">, HelpText<"Updates existing dSYM files to contain the latest accelerator tables and other DWARF optimizations.">, Group<grp_general>; def: Flag<["-"], "u">, Alias<update>, HelpText<"Alias for --update">, Group<grp_general>; def output: Separate<["-", "--"], "o">, MetaVarName<"<filename>">, HelpText<"Specify the output file. Defaults to <input file>.dwarf">, Group<grp_general>; def: Separate<["--", "-"], "out">, MetaVarName<"<filename>">, Alias<output>, HelpText<"Alias for -o">, Group<grp_general>; def: Joined<["--", "-"], "out=">, Alias<output>; def: Joined<["-", "--"], "o=">, Alias<output>; def oso_prepend_path: Separate<["--", "-"], "oso-prepend-path">, MetaVarName<"<path>">, HelpText<"Specify a directory to prepend to the paths of object files.">, Group<grp_general>; def: Joined<["--", "-"], "oso-prepend-path=">, Alias<oso_prepend_path>; def object_prefix_map: Separate<["--", "-"], "object-prefix-map">, MetaVarName<"<prefix=remapped>">, HelpText<"Remap object file paths (but no source paths) before processing." "Use this for Clang objects where the module cache location was" "remapped using -fdebug-prefix-map; to help dsymutil" "find the Clang module cache.">, Group<grp_general>; def: Joined<["--", "-"], "object-prefix-map=">, Alias<object_prefix_map>; def symbolmap: Separate<["--", "-"], "symbol-map">, MetaVarName<"<bcsymbolmap>">, HelpText<"Updates the existing dSYMs inplace using symbol map specified.">, Group<grp_general>; def: Joined<["--", "-"], "symbol-map=">, Alias<symbolmap>; def arch: Separate<["--", "-"], "arch">, MetaVarName<"<arch>">, HelpText<"Link DWARF debug information only for specified CPU architecture" "types. This option can be specified multiple times, once for each" "desired architecture. All CPU architectures will be linked by" "default.">, Group<grp_general>; def: Joined<["--", "-"], "arch=">, Alias<arch>; def accelerator: Separate<["--", "-"], "accelerator">, MetaVarName<"<accelerator type>">, 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'">, Group<grp_general>; def: Joined<["--", "-"], "accelerator=">, Alias<accelerator>; def toolchain: Separate<["--", "-"], "toolchain">, MetaVarName<"<toolchain>">, HelpText<"Embed toolchain information in dSYM bundle.">, Group<grp_general>; def threads: Separate<["--", "-"], "num-threads">, MetaVarName<"<threads>">, HelpText<"Specifies the maximum number of simultaneous threads to use when linking multiple architectures.">, Group<grp_general>; def: Separate<["-"], "j">, MetaVarName<"<threads>">, HelpText<"Alias for --num-threads">, Group<grp_general>; def reproducer: Separate<["--", "-"], "reproducer">, MetaVarName<"<mode>">, HelpText<"Specify the reproducer generation mode. Valid options are 'GenerateOnExit', 'GenerateOnCrash', 'Use', 'Off'.">, Group<grp_general>; def: Joined<["--", "-"], "reproducer=">, Alias<reproducer>; def gen_reproducer: F<"gen-reproducer">, HelpText<"Generate a reproducer consisting of the input object files. Alias for --reproducer=GenerateOnExit.">, Group<grp_general>; def use_reproducer: Separate<["--", "-"], "use-reproducer">, MetaVarName<"<path>">, HelpText<"Use the object files from the given reproducer path. Alias for --reproducer=Use.">, Group<grp_general>; def: Joined<["--", "-"], "use-reproducer=">, Alias<use_reproducer>; def remarks_prepend_path: Separate<["--", "-"], "remarks-prepend-path">, MetaVarName<"<path>">, HelpText<"Specify a directory to prepend to the paths of the external remark files.">, Group<grp_general>; def: Joined<["--", "-"], "remarks-prepend-path=">, Alias<remarks_prepend_path>; def remarks_output_format: Separate<["--", "-"], "remarks-output-format">, MetaVarName<"<format>">, HelpText<"Specify the format to be used when serializing the linked remarks.">, Group<grp_general>; def: Joined<["--", "-"], "remarks-output-format=">, Alias<remarks_output_format>;