diff options
author | Dieter Verfaillie <dieterv@optionexplicit.be> | 2011-09-09 14:55:01 +0200 |
---|---|---|
committer | Dieter Verfaillie <dieterv@optionexplicit.be> | 2011-09-09 19:29:32 +0200 |
commit | 4671f5397003f376f00830e3fd1c214de594619f (patch) | |
tree | a9917f8da0be757ea1a464d9ca67f472d6352cd9 /m4 | |
parent | 2c9fd09da196d35db968bff4ae63fcce2d891e69 (diff) | |
download | pygobject-4671f5397003f376f00830e3fd1c214de594619f.tar.gz |
use improved python.m4 macros to search for Python headers and libs
https://bugzilla.gnome.org/show_bug.cgi?id=658652
Diffstat (limited to 'm4')
-rw-r--r-- | m4/python.m4 | 47 |
1 files changed, 37 insertions, 10 deletions
diff --git a/m4/python.m4 b/m4/python.m4 index 523e45a2..968b9a60 100644 --- a/m4/python.m4 +++ b/m4/python.m4 @@ -43,16 +43,18 @@ AC_DEFUN([AM_CHECK_PYTHON_HEADERS], [AC_REQUIRE([AM_PATH_PYTHON]) AC_MSG_CHECKING(for headers required to compile python extensions) dnl deduce PYTHON_INCLUDES -py_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"` -py_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"` -PYTHON_CONFIG=`which $PYTHON`-config -if test -x "$PYTHON_CONFIG"; then -PYTHON_INCLUDES=`$PYTHON_CONFIG --includes 2>/dev/null` -else -PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" -if test "$py_prefix" != "$py_exec_prefix"; then - PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" -fi +if test "x$PYTHON_INCLUDES" == x; then + PYTHON_CONFIG=`which $PYTHON`-config + if test -x "$PYTHON_CONFIG"; then + PYTHON_INCLUDES=`$PYTHON_CONFIG --includes 2>/dev/null` + else + py_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"` + py_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"` + PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" + if test "$py_prefix" != "$py_exec_prefix"; then + PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" + fi + fi fi AC_SUBST(PYTHON_INCLUDES) dnl check if the headers exist: @@ -66,6 +68,31 @@ $2]) CPPFLAGS="$save_CPPFLAGS" ]) +dnl a macro to check for ability to embed python +dnl AM_CHECK_PYTHON_LIBS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE]) +dnl function also defines PYTHON_LIBS +AC_DEFUN([AM_CHECK_PYTHON_LIBS], +[AC_REQUIRE([AM_CHECK_PYTHON_HEADERS]) +AC_MSG_CHECKING(for libraries required to embed python) +dnl deduce PYTHON_LIBS +py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` +if test "x$PYTHON_LIBS" == x; then + PYTHON_LIBS="-L${py_prefix}/lib -lpython${PYTHON_VERSION}" +fi +if test "x$PYTHON_LIB_LOC" == x; then + PYTHON_LIB_LOC="${py_prefix}/lib" +fi +AC_SUBST(PYTHON_LIBS) +AC_SUBST(PYTHON_LIB_LOC) +dnl check if the headers exist: +save_LIBS="$LIBS" +LIBS="$LIBS $PYTHON_LIBS" +AC_TRY_LINK_FUNC(Py_Initialize, dnl + [LIBS="$save_LIBS"; AC_MSG_RESULT(yes); $1], dnl + [LIBS="$save_LIBS"; AC_MSG_RESULT(no); $2]) + +]) + # JD_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) # --------------------------------------------------------------------------- # Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. |