Minimal C/C++ language toolset for building wasm files
NOTE: this project is archived in favor of WASI SDK.
Minimal toolset for building wasm files
Use linker's
--exportparameter to specify exports (with clang use
-Wl,--export, e.g.
-Wl,--export=foo,--export=bar). The use of
__attribute__ ((visibility ("default")))is no longer preferable way to make methods visible --
--export-dynamicneeds to be added.
$(WASMCEPTION)/dist/bin/clang --sysroot=$(WASMCEPTION)/sysroot/ hi.c -o hi.wasm -nostartfiles -Wl,--no-entry,--export=foo
$(WASMCEPTION)/dist/bin/clang++ --sysroot=$(WASMCEPTION)/sysroot/ hi.cpp -o hi.wasm -nostartfiles -Wl,--no-entry,--export=bar -fno-exceptions
mainand
_startfunctions
The
-nostartfileswill not require you to define the
mainfunction, but will be looking for the
_startfunction: use
-Wl,--no-entryclang (linker) option to avoid specified entry point. As alternative, you can add
void _start() {}(or
extern "C" void _start() { }in C++) to make linker happy due to
-nostartfiles.