wasm-component-ld
This crate contains a binary named wasm-component-ld
which is a wrapper around
two pieces of functionality used to produce a WebAssembly Component
wasm-ld
linker driver provided by LLVMwit_component::ComponentEncoder
typeThis binary will first invoke wasm-ld
and then run the componentization
process to produce a final component.
This repository provides precompiled
binaries of
wasm-component-ld
. This repository can also be installed with cargo binstall
.
Installations of wasi-sdk have this binary packaged by default in the sysroot
and the Rust wasm32-wasip2
target, upon reaching tier 2, will also come
packaged with this binary included.
This means that while a version can be installed manually it should not be required to do so.
The wasm-component-ld
binary is suitable to use as a linker driver during
compilations. For Clang and Rust the wasm32-wasip2
target will automatically
invoke this binary as the linker.
This means that wasm-component-ld
forwards most of its arguments to wasm-ld
.
Additionally all flags of wasm-ld
are supported and forwarded to wasm-ld
.
For example you can invoke the linker like wasm-component-ld --max-memory=N ...
.
The wasm-component-ld
binary has a few custom arguments for itself as well
which are not forwarded to wasm-ld
and can be explored with -h
or --help
.
This project is triple licenced under the Apache 2/ Apache 2 with LLVM exceptions/ MIT licences. The reasoning for this is:
For more details see
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache 2/ Apache 2 with LLVM exceptions/ MIT licenses, shall be licensed as above, without any additional terms or conditions.