| #include "slibtool_driver_impl.h" |
| #include "slibtool_visibility_impl.h" |
| #include "argv/argv.h" |
| |
| const slbt_hidden struct argv_option slbt_ar_options[] = { |
| {"version", 0,TAG_AR_VERSION,ARGV_OPTARG_NONE,0,0,0, |
| "show version information"}, |
| |
| {"help", 'h',TAG_AR_HELP,ARGV_OPTARG_NONE,0,0,0, |
| "display ar mode help"}, |
| |
| {"Wcheck", 0,TAG_AR_CHECK,ARGV_OPTARG_NONE, |
| ARGV_OPTION_HYBRID_ONLY, |
| "[ARCHIVE-FILE]",0, |
| "verify that each %s is a valid archive; " |
| "supported variants are BSD, SysV, and PE/COFF"}, |
| |
| {"Wmerge", 0,TAG_AR_MERGE,ARGV_OPTARG_NONE, |
| ARGV_OPTION_HYBRID_ONLY, |
| "[ARCHIVE-FILE]",0, |
| "merge one or more archive files; " |
| "the name of the new archive, which may be the same " |
| "as one of the input archives, shall be specified " |
| "via the -Woutput switch; order of archive members " |
| "shall be retained, and symbol maps shall be " |
| "merged as well as normalized."}, |
| |
| {"Woutput", 0,TAG_AR_OUTPUT,ARGV_OPTARG_REQUIRED, |
| ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE, |
| 0,0, |
| "specify the name of the archive to be created " |
| "(or replaced) as a result of a -Wmerge operation."}, |
| |
| {"Wprint", 0,TAG_AR_PRINT,ARGV_OPTARG_OPTIONAL, |
| ARGV_OPTION_HYBRID_EQUAL|ARGV_OPTION_HYBRID_COMMA, |
| "members|symbols",0, |
| "print out information pertaining to each archive file " |
| "and its various internal elements"}, |
| |
| {"Wmapfile", 0,TAG_AR_MAPFILE,ARGV_OPTARG_NONE, |
| ARGV_OPTION_HYBRID_ONLY, |
| 0,0, |
| "print out a (sorted) map file " |
| "(aka symbol file, aka version script), " |
| "including either all armap symbols (if no regex filter was " |
| "specified), or otherwise only the symbols that match the " |
| "specified regex filter."}, |
| |
| {"Wregex", 0,TAG_AR_REGEX,ARGV_OPTARG_REQUIRED, |
| ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE, |
| 0,"<regexp>", |
| "filter armap symbols using the specified %s."}, |
| |
| {"Wnosort", 0,TAG_AR_NOSORT,ARGV_OPTARG_NONE, |
| ARGV_OPTION_HYBRID_ONLY, |
| 0,0, |
| "do not sort the symbol list; " |
| "affect switches are -Wprint=symbols and -Wmapfile."}, |
| |
| {"Wpretty", 0,TAG_AR_PRETTY,ARGV_OPTARG_REQUIRED, |
| ARGV_OPTION_HYBRID_EQUAL, |
| "posix|yaml|hexdata",0, |
| "select the pretty printer to be used: " |
| "'posix' for ar(1) compatible output; " |
| "'yaml' for yaml-formatted data; and " |
| "'hexdata' for yaml-formatted data with additional " |
| "hexdump output"}, |
| |
| {"Wposix", 0,TAG_AR_POSIX,ARGV_OPTARG_NONE, |
| ARGV_OPTION_HYBRID_ONLY,0,0, |
| "a shorthand for -Wpretty=posix"}, |
| |
| {"Wyaml", 0,TAG_AR_YAML,ARGV_OPTARG_NONE, |
| ARGV_OPTION_HYBRID_ONLY,0,0, |
| "a shorthand for -Wpretty=yaml"}, |
| |
| {"Wverbose", 0,TAG_AR_VERBOSE,ARGV_OPTARG_NONE, |
| ARGV_OPTION_HYBRID_ONLY,0,0, |
| "produce verbose output; " |
| "in combination with -Wpretty=posix, this will result " |
| "in `ar(1) -tv` compatible output."}, |
| |
| {0,0,0,0,0,0,0,0} |
| }; |