#define root_pytype 0
#define type_pytype &PyType_Type
-#define INITTYPE(ty, base) do { \
+#define INITTYPE_META(ty, base, meta) do { \
ty##_pytype_skel.tp_base = base##_pytype; \
- ty##_pytype = inittype(&ty##_pytype_skel); \
+ ty##_pytype = inittype(&ty##_pytype_skel, meta##_pytype); \
} while (0)
+#define INITTYPE(ty, base) INITTYPE_META(ty, base, type)
#define INSERT(name, ob) do { \
PyObject *_o = (PyObject *)(ob); \
extern PyObject *mkexc(PyObject *, PyObject *, const char *, PyMethodDef *);
extern void typeready(PyTypeObject *);
-extern PyTypeObject *inittype(PyTypeObject *);
+extern PyTypeObject *inittype(PyTypeObject *, PyTypeObject *);
extern void addmethods(const PyMethodDef *);
extern PyMethodDef *donemethods(void);