Expand description
§sqlite3mc-src
The SQLite3 Multiple Ciphers amalgamation, byte for byte as released, for -sys crates to compile with their own options. It compiles nothing and sets no defines, so every consumer keeps its own flags while one Cargo.lock gives them all the same source.
let dir = sqlite3mc_src::source_dir();
assert!(dir.join(sqlite3mc_src::SOURCE_FILE).is_file());
assert!(dir.join(sqlite3mc_src::HEADER_FILE).is_file());The version encodes the release, so 205.1.x is SQLite3MC 2.5.1. A 205.1 requirement also accepts later 2.5 patch releases, never 2.6. Those may wrap a newer SQLite, named by SQLITE_VERSION, so a -sys crate with committed bindings regenerates them.
SQLite3MC is MIT licensed. The amalgamation also carries public-domain code (SQLite among it), a password-hashing file under CC0-1.0, a block under the Unlicense, and Argon2 under CC0-1.0 or Apache-2.0.
A daily workflow in the repository opens a pull request for each new SQLite3MC release, taking the archive’s checksum only from the release’s Sigstore-signed SHA256SUMS. CI re-runs upgrade.sh to prove the vendored bytes match the pinned release.
Constants§
- EXTENSION_
HEADER_ FILE - SQLite’s extension header from the same release, inside
source_dir. - HEADER_
FILE - Amalgamation header inside
source_dir, under its upstream name. - SOURCE_
FILE - Amalgamation source inside
source_dir, under its upstream name. - SQLIT
E3MC_ VERSION - SQLite3 Multiple Ciphers release the vendored amalgamation comes from.
- SQLITE_
VERSION - SQLite release that amalgamation wraps.
Functions§
- source_
dir - Directory holding the release files byte for byte, for a consumer’s build script to compile.