-# Note: We need to try a few different variants, since some systems have a
-# python3.pc file, others have a python-3.3.pc file, and so on.
-# We also export the name of the package so that it can be correctly
-# added to libsigrokdecode.pc.
-# See also: http://sigrok.org/wiki/Libsigrokdecode/Python
-CPPFLAGS_PYTHON=""
-LDFLAGS_PYTHON=""
-pyver="none"
-PKG_CHECK_MODULES([python3], [python3 >= 3.2],
- [pyver=`$PKG_CONFIG --modversion python3`;
- CPPFLAGS_PYTHON="$CPPFLAGS_PYTHON $python3_CFLAGS";
- LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python3_LIBS";
- MODNAME_PYTHON="python3"],
-[PKG_CHECK_MODULES([python34], [python-3.4 >= 3.4],
- [pyver=`$PKG_CONFIG --modversion python-3.4`;
- CPPFLAGS_PYTHON="$CPPFLAGS_PYTHON $python34_CFLAGS";
- LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python34_LIBS";
- MODNAME_PYTHON="python-3.4"],
-[PKG_CHECK_MODULES([python33], [python-3.3 >= 3.3],
- [pyver=`$PKG_CONFIG --modversion python-3.3`;
- CPPFLAGS_PYTHON="$CPPFLAGS_PYTHON $python33_CFLAGS";
- LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python33_LIBS";
- MODNAME_PYTHON="python-3.3"],
-[PKG_CHECK_MODULES([python32], [python-3.2 >= 3.2],
- [pyver=`$PKG_CONFIG --modversion python-3.2`;
- CPPFLAGS_PYTHON="$CPPFLAGS_PYTHON $python32_CFLAGS";
- LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python32_LIBS";
- MODNAME_PYTHON="python-3.2"],
-)])])])
-AC_SUBST(CPPFLAGS_PYTHON)
-AC_SUBST(LDFLAGS_PYTHON)
-AC_SUBST(MODNAME_PYTHON)
+# Starting with Python 3.8 we need to check for "python-3.8-embed"
+# first, since usually only that variant will add "-lpython3.8".
+# https://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
+SR_PKG_CHECK([python3], [SRD_PKGLIBS],
+ [python-3.10-embed], [python-3.9-embed], [python-3.8-embed], [python3-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
+AS_IF([test "x$sr_have_python3" = xno],
+ [AC_MSG_ERROR([Cannot find Python 3 development headers.])])