diff options
| -rw-r--r-- | build.zig | 24 | ||||
| -rw-r--r-- | sqlite.zig | 4 | ||||
| -rw-r--r-- | vtab.zig | 2 |
3 files changed, 26 insertions, 4 deletions
| @@ -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 | ||
| 338 | const EnableOptions = struct { | ||
| 339 | // https://www.sqlite.org/fts5.html | ||
| 340 | fts5: bool = false, | ||
| 341 | }; | ||
| @@ -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", |
| @@ -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| { |