Skip to content

Latest commit

 

History

History
99 lines (73 loc) · 2.23 KB

DEV.md

File metadata and controls

99 lines (73 loc) · 2.23 KB

Wasm3 development notes

M3/Wasm project uses CMake. It can also be easily integarted into any build system. General build steps look like:

mkdir -p build
cd build
cmake ..
make -j8

It's recommended to use Clang/Ninja to build the project.

Note: When using GCC or Microsoft C++ Compiler, all .c files are forced to be comiled as C++ to eliminate some errors. Currently, support for these compilers was added for evaluation purposes.

Build on Linux

Clang (recommended)

mkdir -p build
cd build
cmake -GNinja -DCLANG_SUFFIX="-9" ..
ninja

GCC

cmake -GNinja ..
ninja

Build on Windows

Prerequisites:

Recommended tools:

REM  Prepare environment (if needed):
"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
set PATH=C:\Program Files\CMake\bin;%PATH%
set PATH=C:\Program Files\LLVM\bin;%PATH%
set PATH=C:\Python36-32\;C:\Python36-32\Scripts\;%PATH%

Clang with Ninja (recommended)

mkdir build
cd build
cmake -GNinja -DCLANG_CL=1 ..
ninja

Clang with MSBuild

cmake -G"Visual Studio 16 2019" -A x64 -T ClangCL ..
MSBuild /p:Configuration=Release wasm3.sln

MSVC with MSBuild

cmake -G"Visual Studio 16 2019" -A x64 ..
MSBuild /p:Configuration=Release wasm3.sln

MSVC with Ninja

cmake -GNinja ..
ninja

Build for microcontrollers

In ./platforms/ folder you can find projects for different targets. Some of them are using Platformio, so you can follow the regular pio build process. Others have custom instructions in respective README.md files.

Running WebAssembly spec tests

To run spec tests, you need python3 and WABT (The WebAssembly Binary Toolkit).

cd test
python3 ./run-spec-test.py

It will automatically download, extract, preprocess the WebAssembly core test suite.