fix(web): keep wasm target_features section so wasm-opt accepts bulk-memory
The release profile's strip = true (added in #324) strips the wasm target_features custom section. Without it, wasm-opt can't tell that bulk-memory is enabled and rejects the module's memory.fill/copy ops ("operations require bulk memory"), failing the release web build — the newer Rust toolchain now emits those ops by default. Override strip only for the wasm target with -Cstrip=none, so native release binaries stay stripped while the wasm keeps its feature section. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
3928f1cfa5
commit
88450f0cd1
1 changed files with 7 additions and 1 deletions
|
|
@ -2,5 +2,11 @@
|
||||||
# browser backend on wasm32-unknown-unknown, alongside its `wasm_js` feature
|
# browser backend on wasm32-unknown-unknown, alongside its `wasm_js` feature
|
||||||
# (enabled in Cargo.toml for the wasm target). Without it the web build fails
|
# (enabled in Cargo.toml for the wasm target). Without it the web build fails
|
||||||
# with "wasm32-unknown-unknown targets are not supported by default".
|
# with "wasm32-unknown-unknown targets are not supported by default".
|
||||||
|
#
|
||||||
|
# `-Cstrip=none` overrides the release profile's `strip = true` for the wasm
|
||||||
|
# target only: stripping removes the `target_features` custom section, so
|
||||||
|
# `wasm-opt` can no longer see that `bulk-memory` is enabled and rejects the
|
||||||
|
# module's memory.fill/copy ops ("require bulk memory"). Native release binaries
|
||||||
|
# stay stripped; only the wasm keeps its feature section.
|
||||||
[target.wasm32-unknown-unknown]
|
[target.wasm32-unknown-unknown]
|
||||||
rustflags = ['--cfg', 'getrandom_backend="wasm_js"']
|
rustflags = ['--cfg', 'getrandom_backend="wasm_js"', '-Cstrip=none']
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue