summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Vincent Rischmann2024-04-14 19:09:33 +0200
committerGravatar Vincent Rischmann2024-04-14 19:31:53 +0200
commitad4ded08b4b3d6d2ace6bb5e54e6ba699094ff3c (patch)
treea9902e9ab352892952dc49f3df879a41530e82ef
parentc: add a workaround for SQLITE_TRANSIENT being mistranslated (diff)
downloadzig-sqlite-ad4ded08b4b3d6d2ace6bb5e54e6ba699094ff3c.tar.gz
zig-sqlite-ad4ded08b4b3d6d2ace6bb5e54e6ba699094ff3c.tar.xz
zig-sqlite-ad4ded08b4b3d6d2ace6bb5e54e6ba699094ff3c.zip
build: add the workaround C file
Diffstat (limited to '')
-rw-r--r--build.zig26
1 files changed, 16 insertions, 10 deletions
diff --git a/build.zig b/build.zig
index cd617f7..9beb65d 100644
--- a/build.zig
+++ b/build.zig
@@ -267,6 +267,8 @@ pub fn build(b: *std.Build) !void {
267 const target = b.resolveTargetQuery(query); 267 const target = b.resolveTargetQuery(query);
268 const optimize = b.standardOptimizeOption(.{}); 268 const optimize = b.standardOptimizeOption(.{});
269 269
270 const c_flags = &[_][]const u8{"-std=c99"};
271
270 const sqlite_lib = b.addStaticLibrary(.{ 272 const sqlite_lib = b.addStaticLibrary(.{
271 .name = "sqlite", 273 .name = "sqlite",
272 .target = target, 274 .target = target,
@@ -274,9 +276,12 @@ pub fn build(b: *std.Build) !void {
274 }); 276 });
275 277
276 sqlite_lib.addIncludePath(.{ .path = "c/" }); 278 sqlite_lib.addIncludePath(.{ .path = "c/" });
277 sqlite_lib.addCSourceFile(.{ 279 sqlite_lib.addCSourceFiles(.{
278 .file = .{ .path = "c/sqlite3.c" }, 280 .files = &[_][]const u8{
279 .flags = &[_][]const u8{"-std=c99"}, 281 "c/sqlite3.c",
282 "c/workaround.c",
283 },
284 .flags = c_flags,
280 }); 285 });
281 sqlite_lib.linkLibC(); 286 sqlite_lib.linkLibC();
282 sqlite_lib.installHeader(.{ .path = "c/sqlite3.h" }, "sqlite3.h"); 287 sqlite_lib.installHeader(.{ .path = "c/sqlite3.h" }, "sqlite3.h");
@@ -345,9 +350,12 @@ pub fn build(b: *std.Build) !void {
345 .target = cross_target, 350 .target = cross_target,
346 .optimize = optimize, 351 .optimize = optimize,
347 }); 352 });
348 lib.addCSourceFile(.{ 353 lib.addCSourceFiles(.{
349 .file = .{ .path = "c/sqlite3.c" }, 354 .files = &[_][]const u8{
350 .flags = &[_][]const u8{"-std=c99"}, 355 "c/sqlite3.c",
356 "c/workaround.c",
357 },
358 .flags = c_flags,
351 }); 359 });
352 lib.linkLibC(); 360 lib.linkLibC();
353 sqlite3 = lib; 361 sqlite3 = lib;
@@ -362,6 +370,7 @@ pub fn build(b: *std.Build) !void {
362 .target = cross_target, 370 .target = cross_target,
363 .optimize = optimize, 371 .optimize = optimize,
364 }); 372 });
373 lib.addCSourceFile(.{ .file = .{ .path = "c/workaround.c" }, .flags = c_flags });
365 if (bundled) lib.addIncludePath(.{ .path = "c" }); 374 if (bundled) lib.addIncludePath(.{ .path = "c" });
366 linkSqlite(lib); 375 linkSqlite(lib);
367 376
@@ -381,10 +390,7 @@ pub fn build(b: *std.Build) !void {
381 .target = getTarget(target, true), 390 .target = getTarget(target, true),
382 .optimize = optimize, 391 .optimize = optimize,
383 }); 392 });
384 lib.addCSourceFile(.{ 393 lib.addCSourceFile(.{ .file = .{ .path = "c/sqlite3.c" }, .flags = c_flags });
385 .file = .{ .path = "c/sqlite3.c" },
386 .flags = &[_][]const u8{"-std=c99"},
387 });
388 lib.addIncludePath(.{ .path = "c" }); 394 lib.addIncludePath(.{ .path = "c" });
389 lib.linkLibC(); 395 lib.linkLibC();
390 396