| Download M4 Source | Macro Index Page |
AX_PYTHON
This macro does a complete Python development environment check.
It recurses through several python versions (from 2.1 to 2.4 in this version), looking for an executable. When it finds an executable, it looks to find the header files and library.
It sets PYTHON_BIN to the name of the python executable, PYTHON_INCLUDE_DIR to the directory holding the header files, and PYTHON_LIB to the name of the Python library.
This macro calls AC_SUBST on PYTHON_BIN (via AC_CHECK_PROG), PYTHON_INCLUDE_DIR and PYTHON_LIB.
Michael Tindal <mtindal@paradoxpoint.com>
2004-09-20
AC_DEFUN([AX_PYTHON],
[AC_MSG_CHECKING(for python build information)
AC_MSG_RESULT([])
for python in python2.4 python2.3 python2.2 python2.1 python; do
AC_CHECK_PROGS(PYTHON_BIN, [$python])
ax_python_bin=$PYTHON_BIN
if test x$ax_python_bin != x; then
AC_CHECK_LIB($ax_python_bin, main, ax_python_lib=$ax_python_bin, ax_python_lib=no)
AC_CHECK_HEADER([$ax_python_bin/Python.h],
[[ax_python_header=`locate $ax_python_bin/Python.h | sed -e s,/Python.h,,`]],
ax_python_header=no)
if test $ax_python_lib != no; then
if test $ax_python_header != no; then
break;
fi
fi
fi
done
if test x$ax_python_bin = x; then
ax_python_bin=no
fi
if test x$ax_python_header = x; then
ax_python_header=no
fi
if test x$ax_python_lib = x; then
ax_python_lib=no
fi
AC_MSG_RESULT([ results of the Python check:])
AC_MSG_RESULT([ Binary: $ax_python_bin])
AC_MSG_RESULT([ Library: $ax_python_lib])
AC_MSG_RESULT([ Include Dir: $ax_python_header])
if test x$ax_python_header != xno; then
PYTHON_INCLUDE_DIR=$ax_python_header
AC_SUBST(PYTHON_INCLUDE_DIR)
fi
if test x$ax_python_lib != xno; then
PYTHON_LIB=$ax_python_lib
AC_SUBST(PYTHON_LIB)
fi
])dnl