summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Vincent Rischmann2024-06-23 18:56:25 +0200
committerGravatar GitHub2024-06-23 18:56:25 +0200
commit878f8cf92b308dabe2dce9e24bd7849e005f7ab5 (patch)
tree82946a94c7c794ddaa1e4ba9b9159bfe43c52d58
parentupdate gitignore (diff)
parentLatest zig master has renamed std.rand to std.Random (diff)
downloadzig-sqlite-878f8cf92b308dabe2dce9e24bd7849e005f7ab5.tar.gz
zig-sqlite-878f8cf92b308dabe2dce9e24bd7849e005f7ab5.tar.xz
zig-sqlite-878f8cf92b308dabe2dce9e24bd7849e005f7ab5.zip
Merge pull request #161 from malcolmstill/master
Enable features without vendoring
-rw-r--r--build.zig24
-rw-r--r--sqlite.zig4
-rw-r--r--vtab.zig2
3 files changed, 26 insertions, 4 deletions
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 {
115 const target = b.resolveTargetQuery(query); 115 const target = b.resolveTargetQuery(query);
116 const optimize = b.standardOptimizeOption(.{}); 116 const optimize = b.standardOptimizeOption(.{});
117 117
118 const c_flags = &[_][]const u8{"-std=c99"}; 118 var flags = std.ArrayList([]const u8).init(b.allocator);
119 defer flags.deinit();
120 try flags.append("-std=c99");
121
122 inline for (std.meta.fields(EnableOptions)) |field| {
123 const opt = b.option(bool, field.name, "Enable " ++ field.name) orelse @as(*const bool, @ptrCast(field.default_value.?)).*;
124
125 if (opt) {
126 var buf: [field.name.len]u8 = undefined;
127 const name = std.ascii.upperString(&buf, field.name);
128 const flag = try std.fmt.allocPrint(b.allocator, "-DSQLITE_ENABLE_{s}", .{name});
129
130 try flags.append(flag);
131 }
132 }
133
134 const c_flags = flags.items;
119 135
120 const sqlite_lib = b.addStaticLibrary(.{ 136 const sqlite_lib = b.addStaticLibrary(.{
121 .name = "sqlite", 137 .name = "sqlite",
@@ -317,3 +333,9 @@ pub fn build(b: *std.Build) !void {
317 zigcrypto_compile_run.dependOn(&install_zigcrypto_loadable_ext.step); 333 zigcrypto_compile_run.dependOn(&install_zigcrypto_loadable_ext.step);
318 zigcrypto_compile_run.dependOn(&install_zigcrypto_test.step); 334 zigcrypto_compile_run.dependOn(&install_zigcrypto_test.step);
319} 335}
336
337// See https://www.sqlite.org/compile.html for flags
338const EnableOptions = struct {
339 // https://www.sqlite.org/fts5.html
340 fts5: bool = false,
341};
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" {
3743 var db = try getTestDb(); 3743 var db = try getTestDb();
3744 defer db.deinit(); 3744 defer db.deinit();
3745 3745
3746 var rand = std.rand.DefaultPrng.init(@intCast(std.time.milliTimestamp())); 3746 var rand = std.Random.DefaultPrng.init(@intCast(std.time.milliTimestamp()));
3747 3747
3748 // Create an aggregate function working with a MyContext 3748 // Create an aggregate function working with a MyContext
3749 3749
@@ -3804,7 +3804,7 @@ test "sqlite: create aggregate function with an aggregate context" {
3804 var db = try getTestDb(); 3804 var db = try getTestDb();
3805 defer db.deinit(); 3805 defer db.deinit();
3806 3806
3807 var rand = std.rand.DefaultPrng.init(@intCast(std.time.milliTimestamp())); 3807 var rand = std.Random.DefaultPrng.init(@intCast(std.time.milliTimestamp()));
3808 3808
3809 try db.createAggregateFunction( 3809 try db.createAggregateFunction(
3810 "mySum", 3810 "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 {
1026 "Vincent", "José", "Michel", 1026 "Vincent", "José", "Michel",
1027 }; 1027 };
1028 1028
1029 var rand = std.rand.DefaultPrng.init(204882485); 1029 var rand = std.Random.DefaultPrng.init(204882485);
1030 1030
1031 const tmp = try allocator.alloc(Row, n); 1031 const tmp = try allocator.alloc(Row, n);
1032 for (tmp) |*s| { 1032 for (tmp) |*s| {