summaryrefslogtreecommitdiff
path: root/c.zig
diff options
context:
space:
mode:
authorGravatar Vincent Rischmann2022-08-13 23:23:39 +0200
committerGravatar Vincent Rischmann2022-08-14 00:48:40 +0200
commit0c7f6f3944b16b279523623d5d2ff8058173ca25 (patch)
treed0b38432cba2a7bfacf5334d6426e9f2ce6d5da5 /c.zig
parentci: only run the workflow on a push to master (diff)
downloadzig-sqlite-0c7f6f3944b16b279523623d5d2ff8058173ca25.tar.gz
zig-sqlite-0c7f6f3944b16b279523623d5d2ff8058173ca25.tar.xz
zig-sqlite-0c7f6f3944b16b279523623d5d2ff8058173ca25.zip
require SQLite >= 3.21.0
After some testing it turns out we need at least SQLite 3.21.0 to compile. We _could_ work around this and make zig-sqlite work with older SQLite versions but I don't think it's necessary because: * "old" distributions like Debian Buster, RHEL 8 ship with SQLite > 3.21.0 * in any case if people want to build for OSes where SQLite is too old they can use the bundled source code.
Diffstat (limited to 'c.zig')
-rw-r--r--c.zig11
1 files changed, 11 insertions, 0 deletions
diff --git a/c.zig b/c.zig
index a346a3a..c15b987 100644
--- a/c.zig
+++ b/c.zig
@@ -1,3 +1,14 @@
1pub const c = @cImport({ 1pub const c = @cImport({
2 @cInclude("sqlite3.h"); 2 @cInclude("sqlite3.h");
3}); 3});
4
5// versionGreaterThanOrEqualTo returns true if the SQLite version is >= to the major.minor.patch provided.
6pub fn versionGreaterThanOrEqualTo(major: u8, minor: u8, patch: u8) bool {
7 return c.SQLITE_VERSION_NUMBER >= @as(u32, major) * 1000000 + @as(u32, minor) * 1000 + @as(u32, patch);
8}
9
10comptime {
11 if (!versionGreaterThanOrEqualTo(3, 21, 0)) {
12 @compileError("must use SQLite >= 3.21.0");
13 }
14}