提交 e89c6e68 authored 作者: Arnaud Bergeron's avatar Arnaud Bergeron

Dump THEANO_INIT_FUNC

上级 75c785da
...@@ -171,14 +171,14 @@ static struct PyModuleDef moduledef = {{ ...@@ -171,14 +171,14 @@ static struct PyModuleDef moduledef = {{
MyMethods, MyMethods,
}}; }};
""".format(name=self.hash_placeholder), file=stream) """.format(name=self.hash_placeholder), file=stream)
print(("THEANO_INIT_FUNC PyInit_%s(void) {" % print(("PyMODINIT_FUNC PyInit_%s(void) {" %
self.hash_placeholder), file=stream) self.hash_placeholder), file=stream)
for block in self.init_blocks: for block in self.init_blocks:
print(' ', block, file=stream) print(' ', block, file=stream)
print(" PyObject *m = PyModule_Create(&moduledef);", file=stream) print(" PyObject *m = PyModule_Create(&moduledef);", file=stream)
print(" return m;", file=stream) print(" return m;", file=stream)
else: else:
print(("THEANO_INIT_FUNC init%s(void){" % print(("PyMODINIT_FUNC init%s(void){" %
self.hash_placeholder), file=stream) self.hash_placeholder), file=stream)
for block in self.init_blocks: for block in self.init_blocks:
print(' ', block, file=stream) print(' ', block, file=stream)
......
...@@ -237,7 +237,7 @@ def compile_cutils(): ...@@ -237,7 +237,7 @@ def compile_cutils():
CutilsExtMethods, CutilsExtMethods,
}; };
THEANO_INIT_FUNC PyMODINIT_FUNC
PyInit_cutils_ext(void) { PyInit_cutils_ext(void) {
import_array(); import_array();
return PyModule_Create(&moduledef); return PyModule_Create(&moduledef);
...@@ -246,7 +246,7 @@ def compile_cutils(): ...@@ -246,7 +246,7 @@ def compile_cutils():
""" """
else: else:
code += """ code += """
THEANO_INIT_FUNC PyMODINIT_FUNC
initcutils_ext(void) initcutils_ext(void)
{ {
import_array(); import_array();
......
...@@ -1038,11 +1038,11 @@ static struct PyModuleDef moduledef = { ...@@ -1038,11 +1038,11 @@ static struct PyModuleDef moduledef = {
#endif #endif
#if defined(NPY_PY3K) #if defined(NPY_PY3K)
#define RETVAL m #define RETVAL m
THEANO_INIT_FUNC PyMODINIT_FUNC
PyInit_lazylinker_ext(void) { PyInit_lazylinker_ext(void) {
#else #else
#define RETVAL #define RETVAL
THEANO_INIT_FUNC PyMODINIT_FUNC
initlazylinker_ext(void) initlazylinker_ext(void)
{ {
#endif #endif
......
...@@ -21,7 +21,8 @@ ...@@ -21,7 +21,8 @@
#define THEANO_RTYPE PyObject * #define THEANO_RTYPE PyObject *
#endif #endif
/* Can't use PyMODINIT_FUNC since we need to place MOD_PUBLIC in the middle */ /* We need to redefine PyMODINIT_FUNC to add MOD_PUBLIC in the middle */
#define THEANO_INIT_FUNC THEANO_EXTERN MOD_PUBLIC THEANO_RTYPE #undef PyMODINIT_FUNC
#define PyMODINIT_FUNC THEANO_EXTERN MOD_PUBLIC THEANO_RTYPE
#endif #endif
...@@ -3490,10 +3490,10 @@ static struct PyModuleDef cuda_ndarray_moduledef = ...@@ -3490,10 +3490,10 @@ static struct PyModuleDef cuda_ndarray_moduledef =
module_methods module_methods
}; };
THEANO_INIT_FUNC PyMODINIT_FUNC
PyInit_cuda_ndarray(void) PyInit_cuda_ndarray(void)
#else #else
THEANO_INIT_FUNC PyMODINIT_FUNC
initcuda_ndarray(void) initcuda_ndarray(void)
#endif #endif
{ {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论