diff options
| author | 2022-08-13 23:23:39 +0200 | |
|---|---|---|
| committer | 2022-08-14 00:48:40 +0200 | |
| commit | 0c7f6f3944b16b279523623d5d2ff8058173ca25 (patch) | |
| tree | d0b38432cba2a7bfacf5334d6426e9f2ce6d5da5 /c.zig | |
| parent | ci: only run the workflow on a push to master (diff) | |
| download | zig-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.zig | 11 |
1 files changed, 11 insertions, 0 deletions
| @@ -1,3 +1,14 @@ | |||
| 1 | pub const c = @cImport({ | 1 | pub 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. | ||
| 6 | pub 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 | |||
| 10 | comptime { | ||
| 11 | if (!versionGreaterThanOrEqualTo(3, 21, 0)) { | ||
| 12 | @compileError("must use SQLite >= 3.21.0"); | ||
| 13 | } | ||
| 14 | } | ||