Auto-generate the hostcalls module of wasi-common (#846)
* Auto-generate shims for old `wasi_unstable` module This commit is effectively just doing what #707 already did, but applying it to the `snapshot_0` module as well. The end result is the same, where we cut down on all the boilerplate in `snapshot_0` and bring it in line with the main `wasi_snapshot_preview1` implementation. The goal here is to make it easier to change the two in tandem since they're both doing the same thing. * Migrate `wasi_common::hostcalls` to a macro This commit migrates the `hostcalls` module to being auto-generated by a macro rather than duplicating a handwritten signature for each wasi syscall. * Auto-generate snapshot_0's `hostcalls` module Similar to the previous commit, but for `snapshot_0` * Delete the `wasi-common-cbindgen` crate This is no longer needed with the hostcalls macro now, we can easily fold the definition of the cbindgen macro into the same crate. * Rustfmt * Fix windows build errors * Rustfmt * Remove now no-longer-necessary code * rustfmt
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
extern crate proc_macro;
|
||||
|
||||
mod hostcalls;
|
||||
mod raw_types;
|
||||
mod utils;
|
||||
mod wasi;
|
||||
@@ -36,3 +37,8 @@ pub fn witx_wasi32_types(args: TokenStream) -> TokenStream {
|
||||
pub fn define_add_wrappers_to_module(args: TokenStream) -> TokenStream {
|
||||
wasi::add_wrappers_to_module(args.into()).into()
|
||||
}
|
||||
|
||||
#[proc_macro]
|
||||
pub fn define_hostcalls(args: TokenStream) -> TokenStream {
|
||||
hostcalls::define(args.into()).into()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user