from ctypes import c_int, c_char_p, POINTER from llvmlite.binding import ffi def link_modules(dst, src): with ffi.OutputString() as outerr: err = ffi.lib.LLVMPY_LinkModules(dst, src, outerr) # The underlying module was destroyed src.detach() if err: raise RuntimeError(str(outerr)) ffi.lib.LLVMPY_LinkModules.argtypes = [ ffi.LLVMModuleRef, ffi.LLVMModuleRef, POINTER(c_char_p), ] ffi.lib.LLVMPY_LinkModules.restype = c_int