Exemple #1
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",
    )
    (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
Exemple #2
0
 def error(self, string):
     util.error(self.opts, string)
Exemple #3
0
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
Exemple #4
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