-# 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.
-# 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"],
-[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"],
-[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"],
-[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"],
-)])])])
-AM_CFLAGS="$AM_CFLAGS $CPPFLAGS_PYTHON"
-AM_LDFLAGS="$AM_LDFLAGS $LDFLAGS_PYTHON"
-
-# libsigrok is always needed.
-PKG_CHECK_MODULES([libsigrok], [libsigrok >= 0.3.0],
- [AM_CFLAGS="$AM_CFLAGS $libsigrok_CFLAGS";
- LIBS="$LIBS $libsigrok_LIBS"])
-
-# libsigrokdecode is always needed.
-PKG_CHECK_MODULES([libsigrokdecode], [libsigrokdecode >= 0.4.0],
- [AM_CFLAGS="$AM_CFLAGS $libsigrokdecode_CFLAGS";
- LIBS="$LIBS $libsigrokdecode_LIBS"])
+# 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], [ST_PKGLIBS],
+ [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.])])
+
+######################
+## Feature checks ##
+######################
+
+AC_LANG([C])
+
+# Enable the C99 standard if possible.
+ST_EXTRA_CFLAGS=
+SR_CHECK_COMPILE_FLAGS([ST_EXTRA_CFLAGS], [C99],
+ [-std=c99 -c99 -AC99 -qlanglvl=extc99])
+
+SR_ARG_ENABLE_WARNINGS([ST_WFLAGS],
+ [-Wall], [-Wall -Wextra -Wmissing-prototypes])
+
+# Check host characteristics.
+AC_SYS_LARGEFILE