dnl ########################
dnl Check for Python
+ensc_have_python=yes
AM_PATH_PYTHON(,, [:])
-if test "x$PYTHON" != x:; then
- ensc_have_python=yes
-else
+if test "x$PYTHON" = x:; then
ensc_have_python=no
fi
-ensc_python_config=python-config
-AC_ARG_WITH(python, AC_HELP_STRING([--with-python=FILE], [use FILE to query Python build details (default: python-config)]), [
- case "$withval" in
- (no) ensc_have_python=no;;
- (yes) ;;
- (*) ensc_python_config="$withval";;
- esac])
-if test x$ensc_have_python = xyes && $ensc_python_config --cflags > /dev/null 2>&1; then
- PYTHON_CFLAGS=`$ensc_python_config --cflags`
- PYTHON_LDFLAGS=`$ensc_python_config --ldflags`
+if test x$ensc_have_python = xyes; then
+ PYTHON_CFLAGS=-I`$PYTHON -c 'from distutils.sysconfig import get_python_inc; print get_python_inc(1)'`
+ PYTHON_LDFLAGS=-L`$PYTHON -c 'from distutils.sysconfig import get_python_lib; print get_python_lib(1)'`
AC_SUBST(PYTHON_CFLAGS)
AC_SUBST(PYTHON_LDFLAGS)
else
# FIXME: Dude, this is ugly.
python/_libvserver.c: $(top_builddir)/python/_libvserver-constants.c
-$(top_builddir)/python/_libvserver-constants.c: lib/vserver.h
+$(top_builddir)/python/_libvserver-constants.c: lib/vserver.h \
+ $(top_srcdir)/python/ctags-constants.awk
$(CTAGS) -x $(top_srcdir)/lib/vserver.h | \
$(AWK) -f $(top_srcdir)/python/ctags-constants.awk \
> $(top_builddir)/python/_libvserver-constants.c
{ NULL, NULL, 0, NULL }
};
+static void
+PyModule_AddLongLongConstant(PyObject *mod, const char *str, long long val)
+{
+ PyObject *o = PyLong_FromLongLong(val);
+ if (!o || PyModule_AddObject(mod, str, o) == -1)
+ /* This ought to be reported somehow... */
+ return;
+}
+
PyMODINIT_FUNC init_libvserver(void)
{
PyObject *mod;
(($2 == "macro" || $2 == "enumerator") && $1 ~ /^(vc|VC|CLONE)/ &&
$1 !~ /^VC_ATTR_/) {
- printf " PyModule_AddIntConstant(mod, \"%s\", %s);\n", $1, $1
+ printf " PyModule_AddLongLongConstant(mod, \"%s\", %s);\n", $1, $1
}