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 --- README | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'README') diff --git a/README b/README index 822d1df..7e13c9a 100644 --- a/README +++ b/README @@ -70,3 +70,35 @@ Getting function exports... [cabi_realloc] Shutting down... Done. + + +Component Model +=============== + +You can play with the component model under rust/hello_world + +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 + +You can then build the Rust runtime under rust/hello_world with + + $ cargo build + +after a while (sheesh) it should finish... then you can run it with + + $ target/debug/hello_world + +it won't actually print anything, but also shouldn't give an error. -- cgit