[3.11] gh-95085: Promote Emscripten and WASI to PEP 11 tier 3 (GH-95086) (GH-95307)

Co-authored-by: Christian Heimes <christian@python.org>
diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index ec63403..f2b9287 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -1556,10 +1556,19 @@
      The :program:`configure` options ``--with-tcltk-includes`` and
      ``--with-tcltk-libs`` have been removed.
 
-* CPython now has experimental support for cross compiling to WebAssembly
-  platform ``wasm32-emscripten``. The effort is inspired by previous work
-  like Pyodide.
-  (Contributed by Christian Heimes and Ethan Smith in :issue:`40280`.)
+* CPython now has :pep:`11` tier 3 support for cross compiling to WebAssembly
+  platform ``wasm32-unknown-emscripten`` (Python in the browser). The effort
+  is inspired by previous work like `Pyodide <https://pyodide.org/>`_.
+  Emscripten provides a limited subset of POSIX APIs. Python standard
+  libraries features and modules related to networking, processes, threading,
+  signals, mmap, and users/groups are not available or don't work.
+  (Contributed by Christian Heimes and Ethan Smith in :gh:`84461`,
+  promoted in :gh:`95085`)
+
+* CPython now has :pep:`11` tier 3 support for cross compiling to WebAssembly
+  platform ``wasm32-unknown-wasi`` (WebAssembly System Interface). Like on
+  Emscripten, only a subset of Python's standard library is available on WASI.
+  (Contributed by Christian Heimes in :gh:`90473`, promoted in :gh:`95085`)
 
 * CPython will now use 30-bit digits by default for the Python :class:`int`
   implementation. Previously, the default was to use 30-bit digits on platforms
diff --git a/Misc/NEWS.d/next/Build/2022-07-21-09-17-01.gh-issue-95085.E9x2S_.rst b/Misc/NEWS.d/next/Build/2022-07-21-09-17-01.gh-issue-95085.E9x2S_.rst
new file mode 100644
index 0000000..02dbd2b
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2022-07-21-09-17-01.gh-issue-95085.E9x2S_.rst
@@ -0,0 +1,2 @@
+Platforms ``wasm32-unknown-emscripten`` and ``wasm32-unknown-wasi`` have
+been promoted to :pep:`11` tier 3 platform support.
diff --git a/Tools/wasm/README.md b/Tools/wasm/README.md
index c1daddda..37bd395 100644
--- a/Tools/wasm/README.md
+++ b/Tools/wasm/README.md
@@ -167,7 +167,7 @@
 - Heap memory and stack size are limited. Recursion or extensive memory
   consumption can crash Python.
 - Most stdlib modules with a dependency on external libraries are missing,
-  e.g. ``ctypes``, ``readline``, ``sqlite3``, ``ssl``, and more.
+  e.g. ``ctypes``, ``readline``, ``ssl``, and more.
 - Shared extension modules are not implemented yet. All extension modules
   are statically linked into the main binary. The experimental configure
   option ``--enable-wasm-dynamic-linking`` enables dynamic extensions
diff --git a/configure b/configure
index 078bb5b..378103a 100755
--- a/configure
+++ b/configure
@@ -6246,7 +6246,11 @@
     PY_SUPPORT_TIER=3 ;; #(
     s390x-*-linux-gnu/gcc) :
     PY_SUPPORT_TIER=3 ;; #(
-        x86_64-*-freebsd*/clang) :
+    wasm32-unknown-emscripten/clang) :
+    PY_SUPPORT_TIER=3 ;; #(
+    wasm32-unknown-wasi/clang) :
+    PY_SUPPORT_TIER=3 ;; #(
+    x86_64-*-freebsd*/clang) :
     PY_SUPPORT_TIER=3 ;; #(
   *) :
       PY_SUPPORT_TIER=0
diff --git a/configure.ac b/configure.ac
index 09f3f90..7d8c670 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1126,8 +1126,8 @@
   [armv7l-*-linux-gnueabihf/gcc],    [PY_SUPPORT_TIER=3], dnl ARMv7 LE with hardware floats, any vendor, glibc, gcc
   [powerpc64le-*-linux-gnu/clang],   [PY_SUPPORT_TIER=3], dnl Linux on PPC64 little endian, glibc, clang
   [s390x-*-linux-gnu/gcc],           [PY_SUPPORT_TIER=3], dnl Linux on 64bit s390x (big endian), glibc, gcc
-  dnl [wasm32-unknown-emscripten/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly Emscripten
-  dnl [wasm32-unknown-wasi/clang],       [PY_SUPPORT_TIER=3], dnl WebAssembly System Interface
+  [wasm32-unknown-emscripten/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly Emscripten
+  [wasm32-unknown-wasi/clang],       [PY_SUPPORT_TIER=3], dnl WebAssembly System Interface
   [x86_64-*-freebsd*/clang],         [PY_SUPPORT_TIER=3], dnl FreeBSD on AMD64
   [PY_SUPPORT_TIER=0]
 )