summary refs log tree commit diff stats
path: root/skins/badradio/build_script.sh
diff options
context:
space:
mode:
Diffstat (limited to 'skins/badradio/build_script.sh')
-rwxr-xr-xskins/badradio/build_script.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/skins/badradio/build_script.sh b/skins/badradio/build_script.sh
new file mode 100755
index 0000000..9a01edc
--- /dev/null
+++ b/skins/badradio/build_script.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+set -e
+
+s_EXPORTED_FUNCTIONS="-s EXPORTED_FUNCTIONS=_init,_render"
+
+shared_flags="-Oz -flto -fno-inline -fno-unroll-loops -mnontrapping-fptoint"
+compile_flags="$shared_flags --std=c23"
+link_flags="$shared_flags -s MALLOC=emmalloc -s ASSERTIONS=0 -s INITIAL_MEMORY=$((70*16*65536)) -s TOTAL_STACK=16384 -s STANDALONE_WASM=1 -s PURE_WASI=1 -s STACK_OVERFLOW_CHECK=0 -s WASM_BIGINT=1 -s ABORTING_MALLOC=0 -s MEMORY_GROWTH_GEOMETRIC_STEP=0 -s ALLOW_MEMORY_GROWTH=1"
+
+emcc --no-entry $s_EXPORTED_FUNCTIONS $link_flags $compile_flags -o radio-receiver.wasm radio-receiver.c
+
+mkdir -p badradio/assets/pirate-radio/guis
+cp radio-receiver.wasm badradio/assets/pirate-radio/guis/radio-receiver.wasm
+
+cd badradio
+rm badradio.zip || true
+zip -r badradio *
+
+exit 0