| .Dd $Mdocdate$ |
| .Dt WABT 1 |
| .Os |
| .Sh NAME |
| .Nm wasm2c |
| .Nd convert a WebAssembly binary file to a C source and header |
| .Sh SYNOPSIS |
| .Nm wasm2c |
| .Op options |
| .Ar file |
| .Sh DESCRIPTION |
| .Nm |
| takes a WebAssembly module and produces an equivalent C source and header. |
| .Pp |
| The options are as follows: |
| .Bl -tag -width Ds |
| .It Fl Fl help |
| Print a help message |
| .It Fl Fl version |
| Print version information |
| .It Fl v , Fl Fl verbose |
| Use multiple times for more info |
| .It Fl o , Fl Fl output=FILENAME |
| Output file for the generated C source file, by default use stdout |
| .It Fl n , Fl Fl module-name=MODNAME |
| Unique name for the module being generated. This name is prefixed to each of the generaed C symbols. By default, the module name from the names section is used. If that is not present the name of the input file is used as the default. |
| .It Fl Fl enable-exceptions |
| Enable Experimental exception handling |
| .It Fl Fl disable-mutable-globals |
| Disable Import/export mutable globals |
| .It Fl Fl disable-saturating-float-to-int |
| Disable Saturating float-to-int operators |
| .It Fl Fl disable-sign-extension |
| Disable Sign-extension operators |
| .It Fl Fl disable-simd |
| Disable SIMD support |
| .It Fl Fl enable-threads |
| Enable Threading support |
| .It Fl Fl enable-function-references |
| Enable Typed function references |
| .It Fl Fl disable-multi-value |
| Disable Multi-value |
| .It Fl Fl enable-tail-call |
| Enable Tail-call support |
| .It Fl Fl disable-bulk-memory |
| Disable Bulk-memory operations |
| .It Fl Fl disable-reference-types |
| Disable Reference types (externref) |
| .It Fl Fl enable-annotations |
| Enable Custom annotation syntax |
| .It Fl Fl enable-code-metadata |
| Enable Code metadata |
| .It Fl Fl enable-gc |
| Enable Garbage collection |
| .It Fl Fl enable-memory64 |
| Enable 64-bit memory |
| .It Fl Fl enable-multi-memory |
| Enable Multi-memory |
| .It Fl Fl enable-extended-const |
| Enable Extended constant expressions |
| .It Fl Fl enable-all |
| Enable all features |
| .It Fl Fl no-debug-names |
| Ignore debug names in the binary file |
| .El |
| .Sh EXAMPLES |
| Parse binary file test.wasm and write test.c and test.h |
| .Pp |
| .Dl $ wasm2c test.wasm -o test.c |
| .Pp |
| Parse test.wasm, write test.c and test.h, but ignore the debug names, if any |
| .Pp |
| .Dl $ wasm2c test.wasm --no-debug-names -o test.c |
| .Sh SEE ALSO |
| .Xr wasm-decompile 1 , |
| .Xr wasm-interp 1 , |
| .Xr wasm-objdump 1 , |
| .Xr wasm-stats 1 , |
| .Xr wasm-strip 1 , |
| .Xr wasm-validate 1 , |
| .Xr wasm2wat 1 , |
| .Xr wast2json 1 , |
| .Xr wat-desugar 1 , |
| .Xr wat2wasm 1 , |
| .Xr spectest-interp 1 |
| .Sh BUGS |
| If you find a bug, please report it at |
| .br |
| .Lk https://github.com/WebAssembly/wabt/issues . |