mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 10:26:02 +00:00 
			
		
		
		
	| … | ||
|---|---|---|
| .. | ||
| config.site-wasm32-emscripten | ||
| README.md | ||
| wasm_assets.py | ||
Python WebAssembly (WASM) build
This directory contains configuration and helpers to facilitate cross compilation of CPython to WebAssembly (WASM).
wasm32-emscripten build
Cross compiling to wasm32-emscripten platform needs the Emscripten tool chain and a build Python interpreter. All commands below are relative to a repository checkout.
Compile a build Python interpreter
mkdir -p builddir/build
pushd builddir/build
../../configure -C
make -j$(nproc)
popd
Fetch and build additional emscripten ports
embuilder build zlib
Cross compile to wasm32-emscripten
mkdir -p builddir/emscripten
pushd builddir/emscripten
CONFIG_SITE=../../Tools/wasm/config.site-wasm32-emscripten \
  emconfigure ../../configure -C \
    --host=wasm32-unknown-emscripten \
    --build=$(../../config.guess) \
    --with-build-python=$(pwd)/../build/python
emmake make -j$(nproc) python.html
Test in browser
Serve python.html with a local webserver and open the file in a browser.
emrun python.html
or
python3 -m http.server