feat(wasm-builder): add support for new `wasm32v1-none` target (#7008)
# Description Resolves #5777 Previously `wasm-builder` used hacks such as `-Zbuild-std` (required `rust-src` component) and `RUSTC_BOOTSTRAP=1` to build WASM runtime without WASM features: `sign-ext`, `multivalue` and `reference-types`, but since Rust 1.84 (will be stable on 9 January, 2025) the situation has improved as there is new [`wasm32v1-none`](https://doc.rust-lang.org/beta/rustc/platform-support/wasm32v1-none.html) target that disables all "post-MVP" WASM features except `mutable-globals`. Previously, your `rust-toolchain.toml` looked like this: ```toml [toolchain] channel = "stable" components = ["rust-src"] targets = ["wasm32-unknown-unknown"] profile = "default" ``` It should now be updated to something like this: ```toml [toolchain] channel = "stable" targets = ["wasm32v1-none"] profile = "default" ``` To build the runtime: ```bash cargo build --package minimal-template-runtime --release ``` ## Integration If you...
parent
ea51bbf9
Showing
- prdoc/pr_7008.prdoc 25 additions, 0 deletionsprdoc/pr_7008.prdoc
- scripts/generate-umbrella.py 10 additions, 4 deletionsscripts/generate-umbrella.py
- substrate/utils/wasm-builder/src/builder.rs 4 additions, 4 deletionssubstrate/utils/wasm-builder/src/builder.rs
- substrate/utils/wasm-builder/src/lib.rs 70 additions, 29 deletionssubstrate/utils/wasm-builder/src/lib.rs
- substrate/utils/wasm-builder/src/prerequisites.rs 86 additions, 28 deletionssubstrate/utils/wasm-builder/src/prerequisites.rs
- substrate/utils/wasm-builder/src/wasm_project.rs 36 additions, 8 deletionssubstrate/utils/wasm-builder/src/wasm_project.rs
Please register or sign in to comment