/sqwab

SQ(Lite) WA(SM) B(uilder)

Primary LanguageC

sqwab

This is a helper project for custom builds of the wa-sqlite or the official SQLite WASM library. It allows overriding Makefile settings and adding C code without creating your own build environment.

To use it:

  • Fork or clone this repo.
  • Add or edit files under overlay.wa-sqlite or overlay.sqlite/ext/wasm (in your fork). This will typically be:
  • Once your changes are on GitHub, manually run the workflow for wa-sqlite or SQLite. You will be prompted for some options:
    • wa-sqlite
      • SQLite source tree tag - Enter a SQLite source tree tag, e.g. "version-3.44.0"
      • Emscripten SDK version - This is the Emscripten toolchain version. By default, this is something close to current when I created the workflow.
      • make arguments - Any arguments will be passed to make, e.g. to include full text search enter WASQLITE_EXTRA_DEFINES="-DSQLITE_ENABLE_FTS5".
    • SQLite
      • Source tarball URL - Enter a source code tarball link (see the SQLite repo home under "Obtaining the SQLite Source Code"). By default this is the latest release.
      • Emscripten SDK version - This is the Emscripten toolchain version. By default, this is something close to current when I created the workflow.
  • A successful run of the workflow will produce a new GitHub release on your fork with an attached file containing the built artifacts.

If you want to change the workflow itself, they are under .github/workflows/.

If the build workflow fails with an error like HTTP 403: Resource not accessible by integration, you may need to change your GitHub Actions permissions. Make sure that "Workflow permissions" is set to "Read and write permissions".