Use cmake + emsdk to build multiple wasm in one time.
Prepare: emscripten 3.1.30
modify emcc.py: https://github.com/Keillion/emscripten/commit/fc55d8790a55fe3b8976a542e1bde47a5295d103
Dynamic link sideModule.
Use webidl.
Generate idl cpp and js for reference
$ /emsdk/upstream/emscripten/tools/webidl_binder mainModule.idl mainModuleGlue
$ mkdir build
$ cd build
$ emcmake cmake ../
$ emmake make
In order to see which system libs are actually needed. refer
$ emmake make VERBOSE=1
html
need to be host in an HTTP server. The mimetype of .wasm
needs to set as application/wasm
.
Not freeing char *
return value in webidl will cause a memory leak.
====
Most fileds in wasmImport or wasmExport are not needed, I save a slimmed std.js here for reference.