From 4c9385df1bcc0098c7e1db7a2f7c7e3dbeb00c8b Mon Sep 17 00:00:00 2001 From: Henry Gressmann Date: Mon, 29 Jan 2024 17:53:39 +0100 Subject: chore: improve docs Signed-off-by: Henry Gressmann --- examples/rust/build.sh | 4 +++- examples/rust/src/fibonacci.rs | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rust/build.sh b/examples/rust/build.sh index 5450345..cabf00e 100755 --- a/examples/rust/build.sh +++ b/examples/rust/build.sh @@ -6,11 +6,13 @@ exclude_wat=("tinywasm") out_dir="./target/wasm32-unknown-unknown/wasm" dest_dir="out" +features="+reference-types,+bulk-memory,+mutable-globals" + # ensure out dir exists mkdir -p "$dest_dir" for bin in "${bins[@]}"; do - RUSTFLAGS="-C target-feature=+reference-types,+bulk-memory -C panic=abort" cargo build --target wasm32-unknown-unknown --package rust-wasm-examples --profile=wasm --bin "$bin" + RUSTFLAGS="-C target-feature=$features -C panic=abort" cargo build --target wasm32-unknown-unknown --package rust-wasm-examples --profile=wasm --bin "$bin" cp "$out_dir/$bin.wasm" "$dest_dir/" wasm-opt "$dest_dir/$bin.wasm" -o "$dest_dir/$bin.wasm" -O --intrinsic-lowering -O diff --git a/examples/rust/src/fibonacci.rs b/examples/rust/src/fibonacci.rs index 3e4be73..7924aef 100644 --- a/examples/rust/src/fibonacci.rs +++ b/examples/rust/src/fibonacci.rs @@ -19,3 +19,11 @@ pub extern "C" fn fibonacci(n: i32) -> i32 { } sum } + +#[no_mangle] +pub extern "C" fn fibonacci_recursive(n: i32) -> i32 { + if n <= 1 { + return n; + } + fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2) +} -- cgit v1.3.1