forked from 1b-agent/opencadstudio-upstream
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 <[email protected]>
13 lines
771 B
TOML
13 lines
771 B
TOML
# getrandom 0.3 (pulled by ahash via acadrust) needs this cfg to select its
|
|
# 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
|
|
# 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]
|
|
rustflags = ['--cfg', 'getrandom_backend="wasm_js"', '-Cstrip=none']
|