From 0c7f6f3944b16b279523623d5d2ff8058173ca25 Mon Sep 17 00:00:00 2001 From: Vincent Rischmann Date: Sat, 13 Aug 2022 23:23:39 +0200 Subject: 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. --- c.zig | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'c.zig') diff --git a/c.zig b/c.zig index a346a3a..c15b987 100644 --- a/c.zig +++ b/c.zig @@ -1,3 +1,14 @@ pub const c = @cImport({ @cInclude("sqlite3.h"); }); + +// versionGreaterThanOrEqualTo returns true if the SQLite version is >= to the major.minor.patch provided. +pub fn versionGreaterThanOrEqualTo(major: u8, minor: u8, patch: u8) bool { + return c.SQLITE_VERSION_NUMBER >= @as(u32, major) * 1000000 + @as(u32, minor) * 1000 + @as(u32, patch); +} + +comptime { + if (!versionGreaterThanOrEqualTo(3, 21, 0)) { + @compileError("must use SQLite >= 3.21.0"); + } +} -- cgit v1.2.3