summaryrefslogtreecommitdiff
path: root/src/external
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2011-07-12 21:22:22 +0200
committerStephen Gallagher <sgallagh@redhat.com>2011-07-13 11:00:47 -0400
commit72e60fd4eabcfbcdbfe01e8c38b94052bc6c2067 (patch)
tree6702b1ff93ef9b3fd66ff5b921bb9732bd7f96a0 /src/external
parent22d268c88f6d324b3a66846af007b06488eddae7 (diff)
downloadsssd-72e60fd4eabcfbcdbfe01e8c38b94052bc6c2067.tar.gz
sssd-72e60fd4eabcfbcdbfe01e8c38b94052bc6c2067.tar.bz2
sssd-72e60fd4eabcfbcdbfe01e8c38b94052bc6c2067.zip
Fix python HBAC bindings for python <= 2.4
Several parts of the HBAC python bindings did not work with old Python versions, such as the one shipped in RHEL5. The changes include: * a compatibility wrapper around python set object * PyModule_AddIntMacro compat macro * Py_ssize_t compat definition * Do not use PyUnicode_FromFormat * several function prototypes and structures used to have "char arguments where they have "const char *" in recent versions. This caused compilation warnings this patch mitigates by using the discard_const hack on python 2.4
Diffstat (limited to 'src/external')
-rw-r--r--src/external/python.m420
1 files changed, 20 insertions, 0 deletions
diff --git a/src/external/python.m4 b/src/external/python.m4
index db598638..00487a74 100644
--- a/src/external/python.m4
+++ b/src/external/python.m4
@@ -56,3 +56,23 @@ AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
])
+dnl Checks for a couple of functions we use that may not be defined
+dnl in some older python versions used e.g. on RHEL5
+AC_DEFUN([AM_CHECK_PYTHON_COMPAT],
+[AC_REQUIRE([AM_CHECK_PYTHON_HEADERS])
+ save_CPPFLAGS="$CPPFLAGS"
+ save_LIBS="$LIBS"
+ CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
+ LIBS="$LIBS $PYTHON_LIBS"
+
+ AC_CHECK_TYPE(Py_ssize_t,
+ [ AC_DEFINE_UNQUOTED(HAVE_PY_SSIZE_T, 1, [Native Py_ssize_t type]) ],
+ [],
+ [[#include <Python.h>]])
+
+ AC_CHECK_FUNCS([PySet_New PySet_Add PyErr_NewExceptionWithDoc])
+ AC_CHECK_DECLS([PySet_Check, PyModule_AddIntMacro, PyUnicode_FromString], [], [], [[#include <Python.h>]])
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LIBS="$save_LIBS"
+])