mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-12-04 22:20:53 +01:00
49009fbd8f
This fixes some linkname shenanigans previous versions of the library were using. It's now safe to upgrade to Go 1.23 and beyond once they become available.
32 lines
1.1 KiB
Bash
32 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
cd -P -- "$(dirname -- "$0")"
|
|
|
|
ROOT=../
|
|
BINARYEN="$ROOT/tools/binaryen-version_117/bin"
|
|
WASI_SDK="$ROOT/tools/wasi-sdk-22.0/bin"
|
|
|
|
"$WASI_SDK/clang" --target=wasm32-wasi -std=c23 -flto -g0 -O2 \
|
|
-Wall -Wextra -Wno-unused-parameter -Wno-unused-function \
|
|
-o sqlite3.wasm "$ROOT/sqlite3/main.c" \
|
|
-I"$ROOT/sqlite3" \
|
|
-mexec-model=reactor \
|
|
-msimd128 -mmutable-globals \
|
|
-mbulk-memory -mreference-types \
|
|
-mnontrapping-fptoint -msign-ext \
|
|
-fno-stack-protector -fno-stack-clash-protection \
|
|
-Wl,--initial-memory=327680 \
|
|
-Wl,--stack-first \
|
|
-Wl,--import-undefined \
|
|
-D_HAVE_SQLITE_CONFIG_H \
|
|
-DSQLITE_CUSTOM_INCLUDE=sqlite_opt.h \
|
|
$(awk '{print "-Wl,--export="$0}' exports.txt)
|
|
|
|
trap 'rm -f sqlite3.tmp' EXIT
|
|
"$BINARYEN/wasm-ctor-eval" -g -c _initialize sqlite3.wasm -o sqlite3.tmp
|
|
"$BINARYEN/wasm-opt" -g --strip --strip-producers -c -O3 \
|
|
sqlite3.tmp -o sqlite3.wasm \
|
|
--enable-simd --enable-mutable-globals --enable-multivalue \
|
|
--enable-bulk-memory --enable-reference-types \
|
|
--enable-nontrapping-float-to-int --enable-sign-ext |