mirror of https://github.com/python/cpython.git
[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>
This commit is contained in:
parent
131fc72700
commit
202311c67a
|
@ -1556,10 +1556,19 @@ Build Changes
|
||||||
The :program:`configure` options ``--with-tcltk-includes`` and
|
The :program:`configure` options ``--with-tcltk-includes`` and
|
||||||
``--with-tcltk-libs`` have been removed.
|
``--with-tcltk-libs`` have been removed.
|
||||||
|
|
||||||
* CPython now has experimental support for cross compiling to WebAssembly
|
* CPython now has :pep:`11` tier 3 support for cross compiling to WebAssembly
|
||||||
platform ``wasm32-emscripten``. The effort is inspired by previous work
|
platform ``wasm32-unknown-emscripten`` (Python in the browser). The effort
|
||||||
like Pyodide.
|
is inspired by previous work like `Pyodide <https://pyodide.org/>`_.
|
||||||
(Contributed by Christian Heimes and Ethan Smith in :issue:`40280`.)
|
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`
|
* 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
|
implementation. Previously, the default was to use 30-bit digits on platforms
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Platforms ``wasm32-unknown-emscripten`` and ``wasm32-unknown-wasi`` have
|
||||||
|
been promoted to :pep:`11` tier 3 platform support.
|
|
@ -167,7 +167,7 @@ ## Misc
|
||||||
- Heap memory and stack size are limited. Recursion or extensive memory
|
- Heap memory and stack size are limited. Recursion or extensive memory
|
||||||
consumption can crash Python.
|
consumption can crash Python.
|
||||||
- Most stdlib modules with a dependency on external libraries are missing,
|
- 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
|
- Shared extension modules are not implemented yet. All extension modules
|
||||||
are statically linked into the main binary. The experimental configure
|
are statically linked into the main binary. The experimental configure
|
||||||
option ``--enable-wasm-dynamic-linking`` enables dynamic extensions
|
option ``--enable-wasm-dynamic-linking`` enables dynamic extensions
|
||||||
|
|
|
@ -6246,7 +6246,11 @@ case $host/$ac_cv_cc_name in #(
|
||||||
PY_SUPPORT_TIER=3 ;; #(
|
PY_SUPPORT_TIER=3 ;; #(
|
||||||
s390x-*-linux-gnu/gcc) :
|
s390x-*-linux-gnu/gcc) :
|
||||||
PY_SUPPORT_TIER=3 ;; #(
|
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=3 ;; #(
|
||||||
*) :
|
*) :
|
||||||
PY_SUPPORT_TIER=0
|
PY_SUPPORT_TIER=0
|
||||||
|
|
|
@ -1126,8 +1126,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
|
[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
|
[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
|
[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
|
[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-wasi/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly System Interface
|
||||||
[x86_64-*-freebsd*/clang], [PY_SUPPORT_TIER=3], dnl FreeBSD on AMD64
|
[x86_64-*-freebsd*/clang], [PY_SUPPORT_TIER=3], dnl FreeBSD on AMD64
|
||||||
[PY_SUPPORT_TIER=0]
|
[PY_SUPPORT_TIER=0]
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue