aboutsummaryrefslogtreecommitdiff
path: root/src/web/build.sh
blob: 48c784e214f5772365e6f0fa4470a2ee50e3775c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
# builds src/web/zc.wasm (or the path given as the first argument): the microcore, with the compiler genome inside, as
# WebAssembly. needs clang with the wasm32 target and wasm-ld. the page
# (src/web/index.html) loads it next to src/web/zc.js.
set -e
cd "$(dirname "$0")/../.."
clang --target=wasm32 -O2 -w -fwrapv -nostdlib -fno-builtin -mbulk-memory -DJTYPE=int \
	-Isrc/core -Isrc/micro src/micro/micro.c src/web/port_wasm.c \
	-Wl,--no-entry -Wl,--export=wasm_input -Wl,--export=wasm_input_cap -Wl,--export=wasm_set_input -Wl,--export=wasm_run \
	-Wl,--export=memory -Wl,--allow-undefined -Wl,--initial-memory=33554432 -Wl,-z,stack-size=65536 \
	-o "${1:-src/web/zc.wasm}"
ls -l "${1:-src/web/zc.wasm}"