summaryrefslogtreecommitdiff
path: root/build.zig
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 /build.zig
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
Diffstat (limited to 'build.zig')
-rw-r--r--build.zig24
1 files changed, 23 insertions, 1 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};