1AC_DEFUN([AX_CHECK_PYTHON_DEVEL], [
2ac_previous_cppflags=$CPPFLAGS
3ac_previous_ldflags=$LDFLAGS
4ac_previous_libs=$LIBS
5AC_PATH_PROG([pyconfig], [$PYTHON-config], [no])
6AS_IF([test x"$pyconfig" = x"no"], [
7    dnl For those that don't have python-config
8    CPPFLAGS="$CFLAGS `$PYTHON -c 'import distutils.sysconfig; \
9        print("-I" + distutils.sysconfig.get_config_var("INCLUDEPY"))'`"
10    CPPFLAGS="$CPPFLAGS `$PYTHON -c 'import distutils.sysconfig; \
11        print(distutils.sysconfig.get_config_var("CFLAGS"))'`"
12    LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \
13        print("-L" + distutils.sysconfig.get_python_lib(plat_specific=1,\
14        standard_lib=1) + "/config")'`"
15    LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \
16        print(distutils.sysconfig.get_config_var("LINKFORSHARED"))'`"
17    LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \
18        print(distutils.sysconfig.get_config_var("LDFLAGS"))'`"
19    LIBS="$LIBS `$PYTHON -c 'import distutils.sysconfig; \
20        print(distutils.sysconfig.get_config_var("LIBS"))'`"
21    LIBS="$LIBS `$PYTHON -c 'import distutils.sysconfig; \
22        print(distutils.sysconfig.get_config_var("SYSLIBS"))'`"
23], [
24    dnl If python-config is found use it
25    CPPFLAGS="$CFLAGS `$PYTHON-config --cflags`"
26    dnl We need to use --embed with python 3.8 but not with earlier version so
27    dnl check if it is recognized.
28    python_devel_embed=""
29    if $PYTHON-config --embed >/dev/null 2>/dev/null; then
30      python_devel_embed="--embed"
31    fi
32    LDFLAGS="$LDFLAGS `$PYTHON-config --ldflags $python_devel_embed`"
33    LIBS="$LIBS `$PYTHON-config --libs $python_devel_embed`"
34    unset python_devel_embed
35])
36
37AC_CHECK_HEADER([Python.h], [],
38    [AC_MSG_ERROR([Unable to find Python development headers])],)
39AC_CHECK_FUNC([PyArg_ParseTuple], [],
40    [AC_MSG_ERROR([Unable to find a suitable python development library])])
41
42CPPFLAGS=$ac_previous_cppflags
43LDFLAGS=$ac_previous_ldflags
44LIBS=$ac_previous_libs
45])
46