From e5f0dfb6e3425e8dbaa405847ae98a8dcc421da7 Mon Sep 17 00:00:00 2001 From: Hilko Bengen Date: Thu, 16 May 2013 22:13:50 +0200 Subject: [PATCH] Use pkg-config for Python 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 c809741ee..0aa171614 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 e514a76d9..ecc25d516 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 = \