[Libguestfs] [PATCH] Use pkg-config for Python

Olaf Hering olaf at aepfle.de
Sun Jun 16 12:55:29 UTC 2013


On Thu, May 16, Hilko Bengen wrote:

>  	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" ])

If pkg-config check fails, PYTHON_LIBS remains empty (at least for me)
and as a result python gets disabled.
Without this change, PYTHON_INCLUDEDIR was retreived directly from
python itself.

For me current 1.20 branch fails to build python in SLE11.

Olaf




More information about the Libguestfs mailing list