mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	gh-95085: Promote Emscripten and WASI to PEP 11 tier 3 (GH-95086)
This commit is contained in:
		
							parent
							
								
									2e35a13e46
								
							
						
					
					
						commit
						daa64d6a59
					
				
					 5 changed files with 23 additions and 8 deletions
				
			
		|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|   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 | ||||
|  |  | |||
							
								
								
									
										6
									
								
								configure
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								configure
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -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 | ||||
|  |  | |||
|  | @ -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] | ||||
| ) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Christian Heimes
						Christian Heimes