#include <Python.h>
#include "includes.h"
+#include "python/py3compat.h"
#include "param/param.h"
#include "param/loadparm.h"
#include "lib/talloc/pytalloc.h"
{ NULL }
};
-void initparam(void)
+static struct PyModuleDef moduledef = {
+ PyModuleDef_HEAD_INIT,
+ .m_name = "param",
+ .m_doc = "Parsing and writing Samba3 configuration files.",
+ .m_size = -1,
+ .m_methods = pyparam_methods,
+};
+
+MODULE_INIT_FUNC(param)
{
- PyObject *m, *mod;
+ PyObject *m = NULL, *mod = NULL;
- m = Py_InitModule3("param", pyparam_methods, "Parsing and writing Samba3 configuration files.");
+ m = PyModule_Create(&moduledef);
if (m == NULL)
- return;
+ return NULL;
mod = PyImport_ImportModule("samba.param");
if (mod == NULL) {
- return;
+ return NULL;
}
loadparm_Type = (PyTypeObject *)PyObject_GetAttrString(mod, "LoadParm");
Py_DECREF(mod);
if (loadparm_Type == NULL) {
- return;
+ return NULL;
}
+ return m;
}
group='build_source',
rule='${PYTHON} ${SRC[0].abspath(env)} --file ${SRC[1].abspath(env)} --output ${TGT} --mode=S3PROTO')
-bld.SAMBA3_PYTHON('pys3param',
+for env in bld.gen_python_environments():
+ bld.SAMBA3_PYTHON('pys3param',
source='pyparam.c',
deps='smbconf',
public_deps='samba-hostconfig pytalloc-util talloc',