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