From b808c875a34e62fcdf360534f923d6030590ff44 Mon Sep 17 00:00:00 2001 From: Hilko Bengen Date: Wed, 4 May 2011 00:29:39 +0200 Subject: [PATCH] Use Python's distutils to determine include and site-packages directories. The code has been taken from specifically ac_python_devel.m4 published at , it has turned out to be less error-prone on my Debian system. --- configure.ac | 46 ++++++++++++---------------------------------- 1 file changed, 12 insertions(+), 34 deletions(-) diff --git a/configure.ac b/configure.ac index b82a841..5805ddd 100644 --- a/configure.ac +++ b/configure.ac @@ -232,47 +232,25 @@ AC_CHECK_PROG([PYTHON],[python],[python],[no]) PYTHON_PREFIX= PYTHON_VERSION= -PYTHON_INCLUDEDIR= -PYTHON_SITE_PACKAGES= if test "x$PYTHON" != "xno"; then PYTHON_PREFIX=`$PYTHON -c "import sys; print sys.prefix"` PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"` - for d in \ - $PYTHON_PREFIX/include/python$PYTHON_VERSION \ - /usr/include/python$PYTHON_VERSION \ - /usr/local/include/python$PYTHON_VERSION - do - AC_MSG_CHECKING([Python.h in $d]) - if test -r "$d/Python.h"; then - AC_MSG_RESULT([found]) - PYTHON_INCLUDEDIR=$d - break - fi - AC_MSG_RESULT([not found]) - done - if test "x$PYTHON_INCLUDEDIR" = "x"; then - AC_MSG_WARN([Python include directory not found]) + + 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]) - for d in \ - $PYTHON_PREFIX/lib64/python$PYTHON_VERSION/site-packages \ - $PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages \ - /usr/lib64/python$PYTHON_VERSION/site-packages \ - /usr/lib/python$PYTHON_VERSION/site-packages \ - /usr/local/lib/python$PYTHON_VERSION/site-packages - do - AC_MSG_CHECKING([for $d]) - if test -d "$d"; then - AC_MSG_RESULT([found]) - PYTHON_SITE_PACKAGES=$d - break - fi - AC_MSG_RESULT([not found]) - done - if test "x$PYTHON_SITE_PACKAGES" = "x"; then - AC_MSG_WARN([Python site-packages directory not found]) + AC_MSG_CHECKING([for Python site-packages path]) + if test -z "$PYTHON_SITE_PACKAGES"; then + PYTHON_SITE_PACKAGES=`$PYTHON -c "import distutils.sysconfig; \ + print (distutils.sysconfig.get_python_lib(0,0));"` fi + AC_MSG_RESULT([$PYTHON_SITE_PACKAGES]) old_LIBS="$LIBS" LIBS="$LIBS -lpython$PYTHON_VERSION" -- 1.8.3.1