summaryrefslogtreecommitdiffstats
path: root/m4/python.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/python.m4')
-rw-r--r--m4/python.m479
1 files changed, 79 insertions, 0 deletions
diff --git a/m4/python.m4 b/m4/python.m4
new file mode 100644
index 0000000..032334b
--- /dev/null
+++ b/m4/python.m4
@@ -0,0 +1,79 @@
+dnl copied from pygtk
+dnl
+dnl a macro to check for ability to create python extensions
+dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
+dnl function also defines PYTHON_INCLUDES
+AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
+[AC_REQUIRE([AM_PATH_PYTHON])
+AC_MSG_CHECKING(for development headers)
+dnl deduce PYTHON_INCLUDES
+py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
+py_exec_prefix=`$PYTHON -c "import sys; print 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
+AC_SUBST(PYTHON_INCLUDES)
+dnl check if the headers exist:
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
+AC_TRY_CPP([#include <Python.h>],dnl
+[AC_MSG_RESULT(found)
+$1],dnl
+[AC_MSG_RESULT(not found)
+$2])
+CPPFLAGS="$save_CPPFLAGS"
+])
+
+dnl check for python
+AC_DEFUN([LIBGPOD_CHECK_PYTHON],
+[
+ AC_ARG_WITH(python,
+ AC_HELP_STRING([--with-python=PATH],
+ [build python bindings [[default=no]]]),
+ [with_python=$withval],[with_python=no])
+
+ AC_MSG_CHECKING(whether to build python bindings)
+ if test "X$with_python" != Xno; then
+ if test "X$with_python" != Xyes; then
+ PYTHON=$with_python
+ fi
+ with_python=yes
+ fi
+ AC_MSG_RESULT($with_python)
+
+ if test "X$with_python" == Xyes; then
+ if test -z "$PYTHON"; then
+ AC_PATH_PROG(PYTHON, python)
+ fi
+
+ if test -n "$PYTHON"; then
+ AM_PATH_PYTHON($PYTHON_MIN_VERSION)
+ AM_CHECK_PYTHON_HEADERS(with_python="yes",with_python="no")
+
+ if test "X$with_python" == Xyes; then
+ dnl test for python ldflags
+ dnl copied from the Redland RDF bindings, http://librdf.org/
+ if test `uname` = Darwin; then
+ PYTHON_LDFLAGS="-Wl,-F. -Wl,-F. -bundle"
+ if $PYTHON -c 'import sys, string; sys.exit(string.find(sys.prefix,"Framework")+1)'; then
+ :
+ else
+ PYTHON_LDFLAGS="$PYTHON_LDFLAGS -framework Python"
+ fi
+ else
+ PYTHON_LDFLAGS="-shared"
+ fi
+ AC_SUBST(PYTHON_LDFLAGS)
+
+ dnl check for swig
+ AC_PROG_SWIG($SWIG_MIN_VERSION)
+ with_python="$has_swig"
+ fi
+ else
+ AC_MSG_WARN(python not found. try --with-python=/path/to/python)
+ with_python="no"
+ fi
+ fi
+ AM_CONDITIONAL(HAVE_PYTHON, test x$with_python = xyes)
+])dnl