def main(prog, args): opt_parser = optparse.OptionParser( usage="%%prog %s %s" % (name, usage), description=description, ) opt_parser.add_option( '-o', '--output-dir', action='store', default='.', dest='outdir', metavar='OUTDIR', help="output directory (defaults to .)", ) opt_parser.add_option( '-v', '--verbosity', type='int', action='store', default=2, dest='verbosity', metavar='VERBOSITY', help="Verbosity of output (defaults to 2)", ) opt_parser.add_option( '-d', '--debug-type-templates', action='store_true', default=False, dest='debug_templates', help="Include type template debug information in output", ) (opts, args) = opt_parser.parse_args(args=args) if len(args) < 1: util.error(opts, "Missing extension name") quit_with_usage(prog) script_filenames = args[1:] if len(script_filenames) == 0: util.error(opts, "Missing script filename") quit_with_usage(prog) ext = Ext( name=args[0], opts=opts, ) for script_filename in script_filenames: ext.process(script_filename) ext.write() return 0
def error(self, string): util.error(self.opts, string)
def main(prog, args): opt_parser = optparse.OptionParser( usage="%%prog %s %s" % (prog, usage), description=description, ) opt_parser.add_option( '-o', '--output-dir', action='store', default='.', dest='outdir', metavar='OUTDIR', help="output directory (defaults to .)", ) opt_parser.add_option( '-v', '--verbosity', type='int', action='store', default=2, dest='verbosity', metavar='VERBOSITY', help="Verbosity of output (defaults to 2)", ) opt_parser.add_option( '-s', '--skip-master', action='store_true', default=False, dest='skip_master', help="Skip generation of master .kludge.py script", ) opt_parser.add_option( '', '--ignore-dir', action='append', dest='dirs_to_ignore', metavar='DIR', help="Ignore DIR when finding header files to parse", ) opt_parser.add_option( '-I', None, action='append', dest='cpppath', metavar='DIR', help="Add directory to C++ include path", ) opt_parser.add_option( '-D', None, action='append', dest='cppdefines', metavar='DEFINE', help="Define a preprocessor value", ) opt_parser.add_option( '-L', None, action='append', dest='libpath', metavar='DIR', help="Add directory to library path", ) opt_parser.add_option( '-l', None, action='append', dest='libs', metavar='LIB', help="Add libary for link", ) opt_parser.add_option( '-C', '--clang-opt', action='append', dest='clang_opts', metavar='OPT', help="Pass option to Clang++", ) (opts, args) = opt_parser.parse_args(args=args) ext_name = args[0] dirs_and_files = args[1:] if not opts.dirs_to_ignore: opts.dirs_to_ignore = [] if len(dirs_and_files) == 0: util.error(opts, "Missing directories and/or headers to process") quit_with_usage(prog) from libkludge.discover.parser import Parser parser = Parser( name=args[0], opts=opts, ) parser.process(ext_name, dirs_and_files) return 0
def main(prog, args): opt_parser = optparse.OptionParser( usage="%%prog %s %s" % (name, usage), description=description, ) opt_parser.add_option( '-o', '--output-dir', action='store', default='.', dest='outdir', metavar='OUTDIR', help="output directory (defaults to .)", ) opt_parser.add_option( '-v', '--verbosity', type='int', action='store', default=2, dest='verbosity', metavar='VERBOSITY', help="Verbosity of output (defaults to 2)", ) opt_parser.add_option( '-d', '--debug-type-templates', action='store_true', default=False, dest='debug_templates', help="Include type template debug information in output", ) opt_parser.add_option( '-k', '--build-kludge-ext', action='store_true', default=False, dest='is_building_kludge_ext', help= "Build the Kludge extension that other Kludge-built extensions require", ) (opts, args) = opt_parser.parse_args(args=args) if opts.is_building_kludge_ext: if len(args) > 0: util.error(opts, "No arguments should be passed for generate -k") quit_with_usage(prog) ext = Ext( name='Kludge', opts=opts, ) ext.process( "(internal)", """ ext.add_cpp_angled_include('string') ext.add_cpp_angled_include('vector') for cpp_type_expr in ext.kludge_ext_cpp_type_exprs: ext.instantiate_cpp_type_expr(cpp_type_expr) """) else: if len(args) < 1: util.error(opts, "Missing extension name") quit_with_usage(prog) script_filenames = args[1:] if len(script_filenames) == 0: util.error(opts, "Missing script filename") quit_with_usage(prog) ext = Ext( name=args[0], opts=opts, ) for script_filename in script_filenames: ext.process(script_filename) ext.write() return 0