def compile_extension(name, header, sources=[], verbose=True, with_cuda=False,
**kwargs):
name, target_dir = _create_module_dir(name)
cffi_wrapper_name = '_' + name
wrapper_source, include_dirs = _setup_wrapper(with_cuda)
include_dirs.extend(kwargs.pop('include_dirs', []))
with open(header, 'r') as f:
header_source = f.read()
ffi = cffi.FFI()
sources = [os.path.abspath(src) for src in sources]
ffi.set_source(cffi_wrapper_name, wrapper_source + header_source,
sources=sources,
include_dirs=include_dirs, **kwargs)
ffi.cdef(_typedefs + header_source);
_build_extension(ffi, cffi_wrapper_name, target_dir, verbose)
_make_python_wrapper(name, cffi_wrapper_name, target_dir)
评论列表
文章目录