-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·47 lines (40 loc) · 1.75 KB
/
build.sh
File metadata and controls
executable file
·47 lines (40 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
CPUS=1
if [ "$OS" = "Windows_NT" ]; then
CPUS=$(powershell -Command "[Environment]::ProcessorCount")
else
if [ "$(uname -s | tr '[:upper:]' '[:lower:]')" = "darwin" ]; then
CPUS=$(sysctl -n hw.ncpu)
brew install wabt
else
CPUS=$(nproc)
sudo apt update && sudo apt install wabt
fi
fi
git clean -fdX
(cd modules/sqlite && git reset --hard HEAD && git clean -fd)
./modules/emsdk/emsdk install latest
./modules/emsdk/emsdk activate latest
cd modules/emsdk && . ./emsdk_env.sh && cd ../sqlite && ./configure --enable-all && cd ../..
makefile='modules/sqlite/ext/wasm/GNUmakefile'
for line in \
"emcc.jsflags += -sFETCH" \
"emcc.cflags += -I../../../sqlite-vector/libs" \
"cflags.common += -I../../../sqlite-vector/libs" \
"emcc.cflags += -I../../../sqlite-memory/src" \
"cflags.common += -I../../../sqlite-memory/src"
do
grep -F "$line" "$makefile" >/dev/null 2>&1 || echo "$line" >> "$makefile"
done
(cd modules/sqlite/ext/wasm && make -j$CPUS dist sqlite3_wasm_extra_init.c=../../../../wasm.c)
unzip modules/sqlite/ext/wasm/sqlite-wasm-*.zip -d tmp
mkdir -p sqlite-wasm/sqlite-wasm/jswasm
mv tmp/sqlite-wasm-*/jswasm sqlite-wasm/sqlite-wasm/.
rm -rf tmp
cp modules/sqlite-wasm/.prettierrc sqlite-wasm/.
cp modules/sqlite-wasm/index.d.ts sqlite-wasm/.
cp modules/sqlite-wasm/index.mjs sqlite-wasm/.
cp modules/sqlite-wasm/node.mjs sqlite-wasm/.
cp modules/sqlite-wasm/tsconfig.json sqlite-wasm/.
PKG=sqlite-wasm/package.json
TMP=sqlite-wasm/package.tmp.json
jq --arg version "$(cat modules/sqlite/VERSION)-sync.$(cd modules/sqlite-sync && make version)-vector.$(cd modules/sqlite-vector && make version)-memory.$(cd modules/sqlite-memory && make version)" '.version = $version' "$PKG" > "$TMP" && mv "$TMP" "$PKG"