[], [with_python=check withval=check]
)
+# Minimum required Python version defined by use of Py_REFCNT
+m4_define([MIN_PYTHON_VER], [2.6])
+
have_python=no
have_libpython=no
AS_IF([test "x$with_python" != xno], [
[*:yes],
# check for python development stuff
[
+ AX_COMPARE_VERSION([$PYTHON_VERSION], [lt], [MIN_PYTHON_VER],
+ [AC_MSG_ERROR([python version $PYTHON_VERSION is too old])])
+
PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION], [have_libpython=yes], [have_libpython=no])
# https://github.com/util-linux/util-linux/issues/2366
static void Fs_destructor(FsObject *self)
{
DBG(FS, pymnt_debug_h(self->fs, "destructor py-obj: %p, py-refcnt=%d",
- self, (int) ((PyObject *) self)->ob_refcnt));
+ self, (int) Py_REFCNT((PyObject *) self)));
mnt_unref_fs(self->fs);
PyFree(self);
}
if (result) {
Py_INCREF(result);
DBG(FS, pymnt_debug_h(fs, "result py-obj %p: already exists, py-refcnt=%d",
- result, (int) ((PyObject *) result)->ob_refcnt));
+ result, (int) Py_REFCNT((PyObject *) result)));
return (PyObject *) result;
}
mnt_ref_fs(fs);
DBG(FS, pymnt_debug_h(fs, "result py-obj %p new, py-refcnt=%d",
- result, (int) ((PyObject *) result)->ob_refcnt));
+ result, (int) Py_REFCNT((PyObject *) result)));
result->fs = fs;
mnt_fs_set_userdata(fs, result);
return (PyObject *) result;
static void Table_destructor(TableObject *self)
{
DBG(TAB, pymnt_debug_h(self->tab, "destructor py-obj: %p, py-refcnt=%d",
- self, (int) ((PyObject *) self)->ob_refcnt));
+ self, (int) Py_REFCNT((PyObject *) self)));
Table_unref(self->tab);
self->tab = NULL;
if (result) {
Py_INCREF(result);
DBG(TAB, pymnt_debug_h(tab, "result py-obj %p: already exists, py-refcnt=%d",
- result, (int) ((PyObject *) result)->ob_refcnt));
+ result, (int) Py_REFCNT((PyObject *) result)));
return (PyObject *) result;
}
mnt_ref_table(tab);
DBG(TAB, pymnt_debug_h(tab, "result py-obj %p new, py-refcnt=%d",
- result, (int) ((PyObject *) result)->ob_refcnt));
+ result, (int) Py_REFCNT((PyObject *) result)));
result->tab = tab;
result->iter = mnt_new_iter(MNT_ITER_FORWARD);
mnt_table_set_userdata(result->tab, result);