ziex/pkg/db-sqlite/build.zig
2026-06-22 14:48:23 +06:00

43 lines
1.4 KiB
Zig

const std = @import("std");
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
const translate_c = b.addTranslateC(.{
.root_source_file = b.path("vendor/sqlite/sqlite3.h"),
.target = target,
.optimize = optimize,
});
const zqlite = b.addModule("zqlite", .{
.root_source_file = b.path("vendor/zqlite/src/zqlite.zig"),
.target = target,
.optimize = optimize,
.link_libc = true,
});
zqlite.addImport("c", translate_c.createModule());
zqlite.addIncludePath(b.path("vendor/sqlite"));
zqlite.addCSourceFile(.{
.file = b.path("vendor/sqlite/sqlite3.c"),
.flags = &[_][]const u8{
"-std=c99",
"-DSQLITE_DQS=0",
"-DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1",
"-DSQLITE_USE_ALLOCA=1",
"-DSQLITE_THREADSAFE=1",
"-DSQLITE_TEMP_STORE=3",
"-DSQLITE_ENABLE_API_ARMOR=1",
"-DSQLITE_ENABLE_UNLOCK_NOTIFY",
"-DSQLITE_DEFAULT_FILE_PERMISSIONS=0600",
"-DSQLITE_OMIT_DEPRECATED=1",
"-DSQLITE_OMIT_LOAD_EXTENSION=1",
"-DSQLITE_OMIT_PROGRESS_CALLBACK=1",
"-DSQLITE_OMIT_SHARED_CACHE",
"-DSQLITE_OMIT_TRACE=1",
"-DSQLITE_OMIT_UTF16=1",
"-DHAVE_USLEEP=0",
},
});
}