| #!/usr/bin/python |
| # Generates MSVC import libraries from .def files. Assumes MSVC environment |
| # has been loaded. |
| |
| import optparse |
| import os |
| import subprocess |
| |
| |
| def main(): |
| parser = optparse.OptionParser(usage='usage: %prog [options] input') |
| parser.add_option( |
| '-o', '--output', dest='output', default=None, help=('output location')) |
| (options, args) = parser.parse_args() |
| |
| if options.output == None: |
| parser.error('Output location not specified') |
| if len(args) == 0: |
| parser.error('No inputs specified') |
| |
| # Make sure output directory exists. |
| if not os.path.exists(options.output): |
| os.makedirs(options.output) |
| |
| # Run lib.exe on each input def file. |
| for input_path in args: |
| input_name = os.path.basename(input_path) |
| input_root = os.path.splitext(input_name)[0] |
| output_path = os.path.join(options.output, input_root + '.lib') |
| subprocess.call([ |
| 'lib', '/nologo', '/machine:X86', '/def:' + input_path, |
| '/out:' + output_path |
| ]) |
| |
| |
| if __name__ == '__main__': |
| main() |