summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/whatsnew/3.11.rst17
-rw-r--r--Misc/NEWS.d/next/Build/2022-07-21-09-17-01.gh-issue-95085.E9x2S_.rst2
-rw-r--r--Tools/wasm/README.md2
-rwxr-xr-xconfigure6
-rw-r--r--configure.ac4
5 files changed, 23 insertions, 8 deletions
diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index b7ec8ad..f458f8e 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -1551,10 +1551,19 @@ Build Changes
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 @@ functions.
- 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 6190680..77c4bdb 100755
--- a/configure
+++ b/configure
@@ -6342,7 +6342,11 @@ case $host/$ac_cv_cc_name in #(
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 2c1b2dd..78eebd5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1141,8 +1141,8 @@ AS_CASE([$host/$ac_cv_cc_name],
[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]
)