Struct substrate_wasm_builder::WasmBuilder
source · pub struct WasmBuilder { /* private fields */ }Expand description
The builder for building a wasm binary.
The builder itself is separated into multiple structs to make the setup type safe.
Building a wasm binary:
- Call
WasmBuilder::newto create a new builder. - Select the project to build using the methods of
WasmBuilderSelectProject. - Set additional
RUST_FLAGSor a different name for the file containing the WASM code using methods ofWasmBuilder. - Build the WASM binary using
Self::build.
Implementations§
source§impl WasmBuilder
impl WasmBuilder
sourcepub fn new() -> WasmBuilderSelectProject
pub fn new() -> WasmBuilderSelectProject
Create a new instance of the builder.
sourcepub fn export_heap_base(self) -> Self
pub fn export_heap_base(self) -> Self
Enable exporting __heap_base as global variable in the WASM binary.
This adds -Clink-arg=--export=__heap_base to RUST_FLAGS.
sourcepub fn set_file_name(self, file_name: impl Into<String>) -> Self
pub fn set_file_name(self, file_name: impl Into<String>) -> Self
Set the name of the file that will be generated in OUT_DIR.
This file needs to be included to get access to the build WASM binary.
If this function is not called, file_name defaults to wasm_binary.rs
sourcepub fn import_memory(self) -> Self
pub fn import_memory(self) -> Self
Instruct the linker to import the memory into the WASM binary.
This adds -C link-arg=--import-memory to RUST_FLAGS.
sourcepub fn append_to_rust_flags(self, flag: impl Into<String>) -> Self
pub fn append_to_rust_flags(self, flag: impl Into<String>) -> Self
Append the given flag to RUST_FLAGS.
flag is appended as is, so it needs to be a valid flag.
sourcepub fn enable_feature(self, feature: impl Into<String>) -> Self
pub fn enable_feature(self, feature: impl Into<String>) -> Self
Enable the given feature when building the wasm binary.
feature needs to be a valid feature that is defined in the project Cargo.toml.
sourcepub fn disable_runtime_version_section_check(self) -> Self
pub fn disable_runtime_version_section_check(self) -> Self
Disable the check for the runtime_version wasm section.
By default the wasm-builder will ensure that the runtime_version section will
exists in the build wasm binary. This runtime_version section is used to get the
RuntimeVersion without needing to call into the wasm binary. However, for some
use cases (like tests) you may want to disable this check.