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