Add make target for building wasmer-api
with js
feature as cdylib
#5226
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since Rust
1.59.0
, using:#![cfg_attr(feature = "js", crate_type = "cdylib")]
has been deprecated. Seems like in Rust
1.84.0
, this is going to be a hard error, so building thewasmer
crate with thejs
feature enabled, will result in an error (and does result an error now if you try to build with the latestnightly
).I've tried multiple ways to solve this issue, namely:
cfg
inlib/api/Cargo.toml
to set thecrate-type
tocdylib
when thejs
feature is enabled. This did not work. Cargo will emit a warning that such a config is just ignored. You can also confirm that by seeing thatwasmer.wasm
was not generated.rustc
vialib/api/build.rs
andRUSTFLAGS
, but neither worked.Finally I've settled on the solution proposed by this PR. For convenience, I added a make target for this specific kind of build. I can confirm that running this target with the latest nightly, correctly produces the desired
wasmer.wasm
file.Resolves #5214.