Awesome
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:
- Adding a modified ext/wasm/GNUMakefile, e.g. to change build options.
- Using the ext/wasm/sqlite3_wasm_extra_init.c extension point to add C code.
- 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.
- wa-sqlite
- 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".