Ejemplo n.º 1
0
def my_module_gen():
    libName = 'libPy' + sys.argv[2]
    className = sys.argv[2] + '.hh'
    includeFile = sys.argv[1] + '/' + className
    module_parser = ModuleParser(libName, '::')
    module_parser.parse([includeFile],
                        includes=['"' + includeFile + '"'],
                        pygen_sink=FileCodeSink(sys.stdout))
Ejemplo n.º 2
0
def my_module_gen(out_file):
    out = FileCodeSink(out_file)
    #pybindgen.write_preamble(out)
    out.writeln("#include \"hello.h\"")
    module_parser = ModuleParser('hello')
    module_parser.add_pre_scan_hook(pre_scan_hook)
    module = module_parser.parse(sys.argv[1:])
    module.generate(out)
Ejemplo n.º 3
0
def my_module_gen():
    #module_parser = ModuleParser('a1', '::')
    module_parser = ModuleParser('pypm', '::')
    module = module_parser.parse(['libpm.h'], ["/usr/include/", "lib/"])
    module.add_include('"libpm.h"')
    
    pybindgen.write_preamble(FileCodeSink(sys.stdout))
    module.generate(FileCodeSink(sys.stdout))
Ejemplo n.º 4
0
def my_module_gen(out_file):
    out = FileCodeSink(out_file)
    #pybindgen.write_preamble(out)
    out.writeln("#include \"hello.h\"")
    module_parser = ModuleParser('hello')
    module_parser.add_pre_scan_hook(pre_scan_hook)
    module = module_parser.parse(sys.argv[1:])
    module.generate(out)
Ejemplo n.º 5
0
def my_module_gen():
    module_parser = ModuleParser(NAME)
    module = module_parser.parse(
        [SRC], 
        gccxml_options=dict(gccxml_path=GCCXML),
        #pygen_sink=FileCodeSink(sys.stdout),
        )
    module.add_include('"%s"' % SRC)
    
    output = open(DEST, 'w')
    module.generate(FileCodeSink(output))
Ejemplo n.º 6
0
def module_gen():
    os.chdir('/home/trevorsweetnam/Dropbox/notebooks/eef/emxarr/codegen/dll/emx_test')
    #module_parser = ModuleParser('emx_test_emxAPI', '::')
    #module = module_parser.parse(['emx_test_emxAPI.h'])
    #module.add_include('"emx_test_emxAPI.h"')
    
    module_parser = ModuleParser('emx_test', '::')
    module = module_parser.parse(['emx_test.h'])
    module.add_include('"rt_noninfite.h"')
    module.add_include('"emx_test_emxutil.h"')
    
    pybindgen.write_preamble(FileCodeSink(sys.stdout))
    module.generate(FileCodeSink(sys.stdout))
Ejemplo n.º 7
0
def my_module_gen():
    include_paths = [
        os.path.join(base_dir, 'Include'),
        os.path.join(base_dir, 'Src'),
    ]
    header_files = []

    for root, dirs, files in os.walk(base_dir):
        for filename in files:
            if filename.endswith('.h'):
                header_files.append(
                    os.path.join(root, filename)
                )

    module_parser = ModuleParser('OVR', '::')

    modules = dict()

    for header in header_files:

        name = header.split('/').pop()
        name = name.split('.')[0]
        try:
            modules[name] = module_parser.parse(
                [header, ],
                gccxml_options = dict(include_paths=include_paths),
                )
        except Exception as _ex:
            logging.warning(
                "Couldn't parse {}: {}\n".format(header, _ex.message)
                )

    for name, module in modules.iteritems():
        try:
            outfile = open(
                os.path.join(build_dir, name + '.cpp')
                , 'w'
            )
            write_preamble(FileCodeSink(outfile))
            module.generate(FileCodeSink(outfile))
            if not outfile.closed:
                outfile.close()
        except Exception as _ex:
            logging.warning(
                "Couldn't write {}: {}\n".format(name, _ex.message)
                )
Ejemplo n.º 8
0
def my_module_gen(inputdir, outputdir, includedirs):
    aliases = [("uint8_t*", "unsigned char*")]
    for alias in aliases:
        typehandlers.add_type_alias(alias[0], alias[1])
    generator_fn = os.path.join(outputdir, "unitsync_python_wrapper.cc")
    module_parser = ModuleParser("pyunitsync")
    module_parser.add_pre_scan_hook(pre_scan_hook)

    with open(generator_fn, "wb") as output:  # ensures file is closed after output
        module = module_parser.parse(
            [os.path.join(inputdir, "unitsync_api.h")],
            include_paths=includedirs,
            includes=['"../unitsync.h"', '"../unitsync_api.h"'],
        )
        module.add_function(
            "GetMinimap",
            BufferReturn("unsigned short*", "1024*1024"),
            [Parameter.new("const char*", "fileName"), Parameter.new("int", "mipLevel")],
        )
        module.generate(FileCodeSink(output))
Ejemplo n.º 9
0
def my_module_gen(inputdir, outputdir, includedirs):
    aliases = [('uint8_t*', 'unsigned char*')]
    for alias in aliases:
        typehandlers.add_type_alias(alias[0], alias[1])
    generator_fn = os.path.join(outputdir, 'unitsync_python_wrapper.cc')
    module_parser = ModuleParser('pyunitsync')
    module_parser.add_pre_scan_hook(pre_scan_hook)

    with open(generator_fn,
              'wb') as output:  #ensures file is closed after output
        module = module_parser.parse(
            [os.path.join(inputdir, 'unitsync_api.h')],
            include_paths=includedirs,
            includes=['"../unitsync.h"', '"../unitsync_api.h"'],
        )
        module.add_function("GetMinimap",
                            BufferReturn("unsigned short*", "1024*1024"), [
                                Parameter.new('const char*', 'fileName'),
                                Parameter.new('int', 'mipLevel')
                            ])
        module.generate(FileCodeSink(output))
Ejemplo n.º 10
0
def my_module_gen():
	module_parser = ModuleParser('MyModule')
	module_parser.parse([sys.argv[1]], includes=['"my-module.h"'],pygen_sink=FileCodeSink(open('ko.py','wb')))
Ejemplo n.º 11
0
def generate():
    module_parser = ModuleParser("mymodule", "::")
    module_parser.parse(["my-module.h"], includes=['"my-module.h"'], pygen_sink=FileCodeSink(sys.stdout))
Ejemplo n.º 12
0
def my_module_gen():
    libName = 'libPy' + sys.argv[2]
    className = sys.argv[2] + '.hh'
    includeFile = sys.argv[1] + '/' + className
    module_parser = ModuleParser( libName, '::')
    module_parser.parse([includeFile], includes=['"' + includeFile + '"'], pygen_sink=FileCodeSink(sys.stdout))
Ejemplo n.º 13
0
def my_module_gen():
    module_parser = ModuleParser('a1', '::')
    module = module_parser.parse([sys.argv[1]])
    module.add_include('"a.h"')

    module.generate(FileCodeSink(sys.stdout))
def my_module_gen():
    module_parser = ModuleParser("a2", "::")
    module_parser.parse([sys.argv[1]], includes=['"a.h"'], pygen_sink=FileCodeSink(sys.stdout))
Ejemplo n.º 15
0
def my_module_gen():
    module_parser = ModuleParser('libPyIndexReader', '::')
    module_parser.parse([sys.argv[1]], includes=['"eudaq/IndexReader.hh"'], pygen_sink=FileCodeSink(sys.stdout))
Ejemplo n.º 16
0
def my_module_gen():
    module_parser = ModuleParser('a2', '::')
    module_parser.parse([sys.argv[1]],
                        includes=['"a.h"'],
                        pygen_sink=FileCodeSink(sys.stdout))
Ejemplo n.º 17
0
def generate():
    module_parser = ModuleParser('opennurbs', '::')
    module_parser.parse(["opennurbs.h"], includes=['"opennurbs.h"'], pygen_sink=FileCodeSink(sys.stdout))
Ejemplo n.º 18
0
        try:
            annotations = knowledge.PARAMETER_ANNOTATIONS[pygccxml_definition.name]
            parameter_annotations.update(annotations)
        except KeyError: pass
        
if __name__ == '__main__':
    #yuck, no waf or autotool here! Use pkg-config to get the libsyncml path
    pkgconfig = subprocess.Popen("pkg-config --cflags libsyncml-1.0",shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    stdout, stderr = pkgconfig.communicate()
    if pkgconfig.wait() != 0:
        raise Exception(stderr)

    #strip -I
    includes = stdout.replace("-I",'').strip()

    out_file=sys.stdout
    header=sys.argv[1]
    cpp_path=[includes]

    module_parser = ModuleParser('syncml')
    module_parser.add_pre_scan_hook(PreScanHook())
    module = module_parser.parse(
                        header_files=[os.path.abspath(header)],
                        include_paths=cpp_path,
                        whitelist_paths=cpp_path,
                        pygen_sink=FileCodeSink(out_file))




Ejemplo n.º 19
0
def my_module_gen():
    module_parser = ModuleParser('a1', '::')
    module = module_parser.parse([sys.argv[1]])
    module.add_include('"a.h"')

    module.generate(FileCodeSink(sys.stdout))