From 3aed80812e105cd99c43f11023012608aecd9f4a Mon Sep 17 00:00:00 2001 From: Andrew Clayton Date: Wed, 25 Oct 2023 19:41:47 +0100 Subject: Add a component model example This adds the 'Hello World' example from here[0]. The runtime is in Rust and the component is in C. This requires some new tools - https://github.com/bytecodealliance/wit-bindgen - https://github.com/bytecodealliance/wasm-tools You can use the pre-built packages, once downloaded and untar'd, edit rust/hello_world/component/Makefile and adjust the paths for the above tools. To build the component with make you may need to specify where the WASI sysroot is $ make WASI_SYSROOT=/path/to/wasi-sysroot [0]: Signed-off-by: Andrew Clayton --- rust/hello_world/component/my-component.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 rust/hello_world/component/my-component.c (limited to 'rust/hello_world/component/my-component.c') diff --git a/rust/hello_world/component/my-component.c b/rust/hello_world/component/my-component.c new file mode 100644 index 0000000..fe09975 --- /dev/null +++ b/rust/hello_world/component/my-component.c @@ -0,0 +1,14 @@ +/* + * my-component.c + */ + +#include "hello_world.h" + +void hello_world_greet(void) +{ + hello_world_string_t my_string; + + hello_world_string_set(&my_string, "Hello, world!"); + + hello_world_name(&my_string); +} -- cgit