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.