From b1d9eb63de7912becc886e96943ef38732d6f35d Mon Sep 17 00:00:00 2001 From: Malcolm Still Date: Sun, 16 Jun 2024 18:18:57 +0100 Subject: Enable features without vendoring --- build.zig | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/build.zig b/build.zig index ed064a2..55b3950 100644 --- a/build.zig +++ b/build.zig @@ -115,7 +115,23 @@ pub fn build(b: *std.Build) !void { const target = b.resolveTargetQuery(query); const optimize = b.standardOptimizeOption(.{}); - const c_flags = &[_][]const u8{"-std=c99"}; + var flags = std.ArrayList([]const u8).init(b.allocator); + defer flags.deinit(); + try flags.append("-std=c99"); + + inline for (std.meta.fields(EnableOptions)) |field| { + const opt = b.option(bool, field.name, "Enable " ++ field.name) orelse @as(*const bool, @ptrCast(field.default_value.?)).*; + + if (opt) { + var buf: [field.name.len]u8 = undefined; + const name = std.ascii.upperString(&buf, field.name); + const flag = try std.fmt.allocPrint(b.allocator, "-DSQLITE_ENABLE_{s}", .{name}); + + try flags.append(flag); + } + } + + const c_flags = flags.items; const sqlite_lib = b.addStaticLibrary(.{ .name = "sqlite", @@ -317,3 +333,9 @@ pub fn build(b: *std.Build) !void { zigcrypto_compile_run.dependOn(&install_zigcrypto_loadable_ext.step); zigcrypto_compile_run.dependOn(&install_zigcrypto_test.step); } + +// See https://www.sqlite.org/compile.html for flags +const EnableOptions = struct { + // https://www.sqlite.org/fts5.html + fts5: bool = false, +}; -- cgit v1.2.3 From a894d2e1f04931f7cac1e98be6022a9cc65f4861 Mon Sep 17 00:00:00 2001 From: Malcolm Still Date: Sun, 23 Jun 2024 17:47:55 +0100 Subject: Latest zig master has renamed std.rand to std.Random --- sqlite.zig | 4 ++-- vtab.zig | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sqlite.zig b/sqlite.zig index bd11dea..0d0f81c 100644 --- a/sqlite.zig +++ b/sqlite.zig @@ -3743,7 +3743,7 @@ test "sqlite: create aggregate function with no aggregate context" { var db = try getTestDb(); defer db.deinit(); - var rand = std.rand.DefaultPrng.init(@intCast(std.time.milliTimestamp())); + var rand = std.Random.DefaultPrng.init(@intCast(std.time.milliTimestamp())); // Create an aggregate function working with a MyContext @@ -3804,7 +3804,7 @@ test "sqlite: create aggregate function with an aggregate context" { var db = try getTestDb(); defer db.deinit(); - var rand = std.rand.DefaultPrng.init(@intCast(std.time.milliTimestamp())); + var rand = std.Random.DefaultPrng.init(@intCast(std.time.milliTimestamp())); try db.createAggregateFunction( "mySum", diff --git a/vtab.zig b/vtab.zig index 8f21cc1..eaefb9c 100644 --- a/vtab.zig +++ b/vtab.zig @@ -1026,7 +1026,7 @@ const TestVirtualTable = struct { "Vincent", "José", "Michel", }; - var rand = std.rand.DefaultPrng.init(204882485); + var rand = std.Random.DefaultPrng.init(204882485); const tmp = try allocator.alloc(Row, n); for (tmp) |*s| { -- cgit v1.2.3