#!/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()