From ec0c92ad6560e04b29482045d2c996209b0657dd Mon Sep 17 00:00:00 2001 From: mohanson Date: Mon, 22 Sep 2025 20:47:34 +0800 Subject: [PATCH] Using the local wabt toolchain --- script/build_example.py | 17 +++++++++++------ script/build_spec.py | 7 +++++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/script/build_example.py b/script/build_example.py index 8136f3a2..5d7e87d3 100644 --- a/script/build_example.py +++ b/script/build_example.py @@ -1,6 +1,6 @@ import contextlib import os -import pathlib +import shutil import subprocess import typing @@ -18,15 +18,20 @@ def cd(dst: str) -> typing.Generator[None, typing.Any, None]: os.chdir(cwd) -for name in [p.name for p in pathlib.Path('example').iterdir() if p.is_dir()]: +root = os.path.dirname(os.path.dirname(__file__)) +os.chdir(root) + +for name in os.listdir('example'): + if not os.path.isdir(f'example/{name}'): + continue if os.path.exists(f'example/{name}/bin/{name}.wasm'): continue with cd(f'example/{name}'): if not os.path.exists('bin'): - call('mkdir bin') + os.mkdir('bin') call('cargo build --release') if os.path.exists('target/wasm32-unknown-unknown'): - call(f'cp target/wasm32-unknown-unknown/release/{name}.wasm bin') + shutil.copy(f'target/wasm32-unknown-unknown/release/{name}.wasm', 'bin') if os.path.exists('target/wasm32-wasip1'): - call(f'cp target/wasm32-wasip1/release/{name}.wasm bin') - call(f'wasm2wat -o bin/{name}.wat bin/{name}.wasm') + shutil.copy(f'target/wasm32-wasip1/release/{name}.wasm', 'bin') + call(f'{root}/res/wabt/bin/wasm2wat -o bin/{name}.wat bin/{name}.wasm') diff --git a/script/build_spec.py b/script/build_spec.py index 8ac4a7cd..76b6d0d4 100644 --- a/script/build_spec.py +++ b/script/build_spec.py @@ -18,6 +18,9 @@ def cd(dst: str) -> typing.Generator[None, typing.Any, None]: os.chdir(cwd) +root = os.path.dirname(os.path.dirname(__file__)) +os.chdir(root) + with cd('res'): if not os.path.exists('spec'): call('git clone https://github.com/WebAssembly/spec') @@ -29,7 +32,7 @@ def cd(dst: str) -> typing.Generator[None, typing.Any, None]: call('git checkout fffc6e12fa454e475455a7b58d3b5dc343980c10') with cd('res/spec/test/core'): for e in sorted(glob.glob('*.wast')): - call(f'wast2json {e}') + call(f'{root}/res/wabt/bin/wast2json {e}') with cd('res/spec/test/core/simd'): for e in sorted(glob.glob('*.wast')): - call(f'wast2json {e}') + call(f'{root}/res/wabt/bin/wast2json {e}')