gh-95853: Add script to automate WASM build (GH-95828)

Automate WASM build with a new Python script. The script provides
several build profiles with configure flags for Emscripten flavors
and WASI. The script can detect and use Emscripten SDK and WASI SDK from
default locations or env vars.

``configure`` now detects Node arguments and creates HOSTRUNNER
arguments for Node 16. It also sets correct arguments for
``wasm64-emscripten``.

Co-authored-by: Brett Cannon <brett@python.org>
This commit is contained in:
Christian Heimes 2022-08-13 21:56:08 +02:00 committed by GitHub
parent 0b329f4f03
commit 32ac98e899
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 828 additions and 22 deletions

View file

@ -6,6 +6,7 @@
import warnings
from unicodedata import normalize
from test.support import os_helper
from test import support
filenames = [
@ -123,6 +124,10 @@ def test_open(self):
# NFKD in Python is useless, because darwin will normalize it later and so
# open(), os.stat(), etc. don't raise any exception.
@unittest.skipIf(sys.platform == 'darwin', 'irrelevant test on Mac OS X')
@unittest.skipIf(
support.is_emscripten or support.is_wasi,
"test fails on Emscripten/WASI when host platform is macOS."
)
def test_normalize(self):
files = set(self.files)
others = set()