2022-09-08 13:36:58 -07:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
2024-03-13 23:34:17 -07:00
|
|
|
# Remove quotes and commas
|
2024-01-30 19:38:32 -08:00
|
|
|
EXPORTED_FUNCTIONS=$( \
|
|
|
|
|
cat lib/src/wasm/stdlib-symbols.txt | \
|
2024-03-13 23:34:17 -07:00
|
|
|
tr -d ',"' \
|
2024-01-30 19:38:32 -08:00
|
|
|
)
|
|
|
|
|
|
2024-03-13 23:34:17 -07:00
|
|
|
EXPORT_FLAGS=""
|
|
|
|
|
for function in ${EXPORTED_FUNCTIONS}; do
|
|
|
|
|
EXPORT_FLAGS+=" -Wl,--export=${function}"
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
target/wasi-sdk-21.0/bin/clang-17 \
|
|
|
|
|
-o stdlib.wasm \
|
|
|
|
|
-Os \
|
|
|
|
|
-fPIC \
|
|
|
|
|
-Wl,--no-entry \
|
|
|
|
|
-Wl,--stack-first \
|
|
|
|
|
-Wl,-z -Wl,stack-size=65536 \
|
|
|
|
|
-Wl,--import-undefined \
|
|
|
|
|
-Wl,--import-memory \
|
|
|
|
|
-Wl,--import-table \
|
|
|
|
|
-Wl,--strip-debug \
|
|
|
|
|
-Wl,--export=reset_heap \
|
|
|
|
|
-Wl,--export=__wasm_call_ctors \
|
|
|
|
|
-Wl,--export=__stack_pointer \
|
|
|
|
|
${EXPORT_FLAGS} \
|
|
|
|
|
lib/src/wasm/stdlib.c
|
2022-09-08 13:36:58 -07:00
|
|
|
|
|
|
|
|
xxd -C -i stdlib.wasm > lib/src/wasm/wasm-stdlib.h
|
2023-12-03 12:12:47 -08:00
|
|
|
mv stdlib.wasm target/
|