Ticket #39223: python.m4

File python.m4, 1.4 KB (added by wichert@…, 11 years ago)

python-config using autoconf macro

Line 
1# AC_PYTHON_DEVEL(VERSION)
2#
3AC_DEFUN([AC_PYTHON_DEVEL],
4[if test -n "$1" ; then
5  for version in $1 ; do
6    AC_MSG_CHECKING([Checking for python$version-config])
7    AC_PATH_TOOL([PYTHON_CONFIG], [python$version-config])
8    if test -n "$PYTHON_CONFIG" ; then
9      AC_MSG_RESULT([yes])
10      PYTHON_VERSION=$version
11      break
12    fi
13    AC_MSG_RESULT([no])
14  done
15else
16  AC_MSG_CHECKING([Checking for python-config])
17  AC_PATH_TOOL([PYTHON_CONFIG], [python-config])
18  if test -n "$PYTHON_CONFIG" ; then
19    AC_MSG_RESULT([yes])
20    PYTHON_VERSION=$(python -c "import sys;print '.'.join(map(str, sys.version_info@<:@:2@:>@))")
21  else
22    AC_MSG_RESULT([no])
23  fi
24fi
25
26if test -z "$PYTHON_CONFIG" ; then
27  AC_MSG_ERROR([no python-config found.])
28fi
29
30PYTHON_CPPFLAGS="$("$PYTHON_CONFIG" --includes)"
31PYTHON_LDFLAGS="$("$PYTHON_CONFIG" --ldflags)"
32
33ac_save_CPPFLAGS="$CPPFLAGS"
34ac_save_LIBS="$LIBS"
35CPPFLAGS="$LIBS $PYTHON_CPPFLAGS"
36LIBS="$LIBS $PYTHON_LIBS"
37AC_MSG_CHECKING([Checking if python-config results are accurate])
38AC_LANG_PUSH([C])
39AC_LINK_IFELSE([
40  AC_LANG_PROGRAM([[#include <Python.h>]],
41                  [[Py_Initialize();]])
42  ],
43  [AC_MSG_RESULT([yes])]
44  [AC_MSG_RESULT([no])
45   AC_MSG_ERROR([$PYTHON_CONFIG output is not usable])])
46AC_LANG_POP([C])
47
48CPPFLAGS="$ac_save_CPPFLAGS"
49LIBS="$ac_save_LIBS"
50
51AC_SUBST([PYTHON_VERSION])
52AC_SUBST([PYTHON_CPPFLAGS])
53AC_SUBST([PYTHON_LDFLAGS])
54
55])
56