| #!/usr/bin/env python |
| """ |
| sym_extract - Extract and output a list of symbols from a shared library. |
| """ |
| from argparse import ArgumentParser |
| from sym_check import extract, util |
| |
| |
| def main(): |
| parser = ArgumentParser( |
| description='Extract a list of symbols from a shared library.') |
| parser.add_argument('library', metavar='shared-lib', type=str, |
| help='The library to extract symbols from') |
| parser.add_argument('-o', '--output', dest='output', |
| help='The output file. stdout is used if not given', |
| type=str, action='store', default=None) |
| parser.add_argument('--names-only', dest='names_only', |
| help='Output only the name of the symbol', |
| action='store_true', default=False) |
| args = parser.parse_args() |
| if args.output is not None: |
| print('Extracting symbols from %s to %s.' |
| % (args.library, args.output)) |
| syms = extract.extract_symbols(args.library) |
| util.write_syms(syms, out=args.output, names_only=args.names_only) |
| |
| |
| if __name__ == '__main__': |
| main() |