You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wasm3/DEV.md

2.0 KiB

M3/Wasm 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

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%
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

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.