trisquel-icecat/icecat/devtools/client/debugger/test/mochitest/examples/wasm-sourcemaps
2025-07-17 09:32:21 -06:00
..
fib.c icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
fib.debug.wasm icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
fib.wasm icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
fib.wasm.map icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
README.md icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00

Building WebAssembly source with source maps

First download and install WASI SDK: 47e5865191/README.md

export WASI_VERSION=12
export WASI_VERSION_FULL=${WASI_VERSION}.0
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz
tar xvf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz

export WASI_SDK_PATH=`pwd`/wasi-sdk-${WASI_VERSION_FULL}
CC="${WASI_SDK_PATH}/bin/clang --sysroot=${WASI_SDK_PATH}/share/wasi-sysroot"

Then, build the wasm file + its source map file

$CC --target=wasm32-unknown-unknown-wasm -nostartfiles -nostdlib -Wl,-no-entry,--export=fib -g fib.c -o fib.wasm

python3 wasm-sourcemap.py fib.wasm -o fib.wasm.map --dwarfdump=$WASI_SDK_PATH/bin/llvm-dwarfdump --source-map-url=https://example.com/browser/devtools/client/debugger/test/mochitest/examples/wasm-sourcemaps/fib.wasm.map -w fib.wasm