| #!/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" |