blob: 27c614236b505e0052c87f05b08bc941e75f3289 [file] [log] [blame] [edit]
#!/bin/bash
set -eo pipefail
# Cleanup old files.
rm -f sqlite-src-*.zip
rm -rf sqlite-src-*/
rm -rf build/
touch build.log
BUILD_LOG="$(realpath build.log)"
echo -e "Built on $(date -u '+%Y-%m-%dT%H:%M:%SZ')\n" | tee "$BUILD_LOG"
echo "Toolchain versions" | tee -a "$BUILD_LOG"
emcc --version | head -n1 | tee -a "$BUILD_LOG"
echo -e "wasm-strip $(wasm-strip --version)\n" | tee -a "$BUILD_LOG"
# Check https://sqlite.org/download.html and update the source link, if needed.
SQLITE_SRC_URL="https://sqlite.org/2025/sqlite-src-3480000.zip"
echo -e "Getting sources from $SQLITE_SRC_URL\n" | tee -a "$BUILD_LOG"
SQLITE_SRC_FILE="$(basename $SQLITE_SRC_URL)"
curl -o "$SQLITE_SRC_FILE" $SQLITE_SRC_URL
unzip "$SQLITE_SRC_FILE"
# Paths and information in make output could be sensitive, so don't save in log.
echo "Building..." | tee -a "$BUILD_LOG"
pushd sqlite-src-*/
./configure
cd ext/wasm
make dist
popd
echo "Copying files from sqlite-src-*/ext/wasm/ into build/" | tee -a "$BUILD_LOG"
mkdir -p build/{common,jswasm} | tee -a "$BUILD_LOG"
cp sqlite-src-*/ext/wasm/jswasm/speedtest1.{js,wasm} build/jswasm/ | tee -a "$BUILD_LOG"
# The next files are only needed for the upstream browser build, not the
# JetStream version, hence don't copy them by default.
# cp sqlite-src-*/ext/wasm/speedtest1.html build/ | tee -a "$BUILD_LOG"
# cp sqlite-src-*/ext/wasm/common/{emscripten.css,SqliteTestUtil.js,testing.css} build/common/ | tee -a "$BUILD_LOG"
echo "Build success" | tee -a "$BUILD_LOG"