summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorHenry Gressmann <mail@henrygressmann.de>2024-01-29 17:53:39 +0100
committerHenry Gressmann <mail@henrygressmann.de>2024-01-29 17:53:39 +0100
commit4c9385df1bcc0098c7e1db7a2f7c7e3dbeb00c8b (patch)
tree5fd85465d424b509a0fede850b079f3534f944a8 /examples
parentb0b4eba3b7ff5bfbcb8835c473ac3945c5160332 (diff)
chore: improve docs
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/rust/build.sh4
-rw-r--r--examples/rust/src/fibonacci.rs8
2 files changed, 11 insertions, 1 deletions
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)
+}