On Thu, May 16, 2013 at 10:13:50PM +0200, Hilko Bengen wrote:
At least libpython2.7-dev and libpython3.3-dev on current
Debian/unstable ship with pkg-config files. As with the pkg-config
check for Lua, we check for versioned and an unversioned .pc files.
---
configure.ac | 35 ++++++++++++++++++++---------------
python/Makefile.am | 2 +-
2 files changed, 21 insertions(+), 16 deletions(-)
diff --git a/configure.ac b/configure.ac
index c809741..0aa1716 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1106,7 +1106,6 @@ AM_CONDITIONAL([HAVE_PERL],
dnl Check for Python (optional, for Python bindings).
PYTHON_PREFIX=
PYTHON_VERSION=
-PYTHON_INCLUDEDIR=
PYTHON_INSTALLDIR=
AC_ARG_ENABLE([python],
@@ -1117,23 +1116,30 @@ AS_IF([test "x$enable_python" != "xno"],[
AC_CHECK_PROG([PYTHON],[python],[python],[no])
if test "x$PYTHON" != "xno"; then
- AC_MSG_CHECKING([Python prefix])
- PYTHON_PREFIX=`$PYTHON -c "import sys; print (sys.prefix)"`
- AC_MSG_RESULT([$PYTHON_PREFIX])
-
AC_MSG_CHECKING([Python version])
PYTHON_VERSION_MAJOR=`$PYTHON -c "import sys; print
(sys.version_info@<:@0@:>@)"`
PYTHON_VERSION_MINOR=`$PYTHON -c "import sys; print
(sys.version_info@<:@1@:>@)"`
PYTHON_VERSION="$PYTHON_VERSION_MAJOR.$PYTHON_VERSION_MINOR"
AC_MSG_RESULT([$PYTHON_VERSION])
-
- AC_MSG_CHECKING([for Python include path])
- if test -z "$PYTHON_INCLUDEDIR"; then
- python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc
());"`
- PYTHON_INCLUDEDIR=$python_path
- fi
- AC_MSG_RESULT([$PYTHON_INCLUDEDIR])
+ # Debian: python-2.7.pc, python-3.2.pc
+ PKG_CHECK_MODULES([PYTHON], [python-"$PYTHON_VERSION"],[
+ AC_SUBST([PYTHON_CFLAGS])
+ AC_SUBST([PYTHON_LIBS])
+ AC_SUBST([PYTHON_VERSION])
+ AC_DEFINE([HAVE_PYTHON],[1],[Python library found at compile time])
+ ],[
+ PKG_CHECK_MODULES([PYTHON], [python],[
+ AC_SUBST([PYTHON_CFLAGS])
+ AC_SUBST([PYTHON_LIBS])
+ AC_SUBST([PYTHON_VERSION])
+ AC_DEFINE([HAVE_PYTHON],[1],[Python library found at compile time])
+ ],[
+ AC_MSG_WARN([python $PYTHON_VERSION not found])
+ ])
+ ])
+ AC_MSG_CHECKING([Python prefix])
+ PYTHON_PREFIX=`$PYTHON -c "import sys; print (sys.prefix)"`
+ AC_MSG_RESULT([$PYTHON_PREFIX])
AC_ARG_WITH([python-installdir],
[AS_HELP_STRING([--with-python-installdir],
@@ -1171,11 +1177,10 @@ AS_IF([test "x$enable_python" != "xno"],[
AC_SUBST(PYTHON_PREFIX)
AC_SUBST(PYTHON_VERSION)
- AC_SUBST(PYTHON_INCLUDEDIR)
AC_SUBST(PYTHON_INSTALLDIR)
])
AM_CONDITIONAL([HAVE_PYTHON],
- [test "x$PYTHON" != "xno" && test
"x$PYTHON_INCLUDEDIR" != "x" && test
"x$PYTHON_INSTALLDIR" != "x"])
+ [test "x$PYTHON" != "xno" && test
"x$PYTHON_LIBS" != "x" ])
dnl Check for Ruby and rake (optional, for Ruby bindings).
AC_ARG_ENABLE([ruby],
diff --git a/python/Makefile.am b/python/Makefile.am
index e514a76..ecc25d5 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -43,7 +43,7 @@ libguestfsmod_la_SOURCES = guestfs-py.c guestfs-py.h
guestfs-py-byhand.c
libguestfsmod_la_CPPFLAGS = \
-DGUESTFS_PRIVATE=1 \
- -I$(PYTHON_INCLUDEDIR) \
+ $(PYTHON_CFLAGS) \
-I$(top_srcdir)/src -I$(top_builddir)/src
libguestfsmod_la_CFLAGS = \
--
1.7.10.4
I tested this on Fedora with both Python 3.3 and Python 2.7 and it
works for both.
Therefore: ACK. I just pushed this.
Thanks,
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top