X-Git-Url: https://gitweb.ps.run/chirp/blobdiff_plain/0b2f4de9c1db5ec1059f6cd9b8c44e07f3af0b51..24dd34a102c3a2019083e1bc19f325469a60f4a3:/build.zig diff --git a/build.zig b/build.zig index 7a13429..b46d414 100644 --- a/build.zig +++ b/build.zig @@ -2,40 +2,52 @@ const std = @import("std"); pub fn build(b: *std.Build) void { const target = b.standardTargetOptions(.{}); - const optimize = b.standardOptimizeOption(.{}); const exe = b.addExecutable(.{ - .name = "lmdb", - // In this case the main source file is merely a path, however, in more - // complicated build scripts, this could be a generated file. - .root_source_file = .{ .cwd_relative = "src/main.zig" }, + .name = "chirp", + .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, }); - const lmdb_mod = b.createModule(.{ - .root_source_file = .{ .cwd_relative = "../ziglmdb/src/lmdb.zig" }, + // other modules + exe.root_module.omit_frame_pointer = false; + + const exe_check = b.addExecutable(.{ + .name = "chirp", + .root_source_file = b.path("src/main.zig"), + .target = target, + .optimize = optimize, }); - lmdb_mod.addIncludePath(.{ .cwd_relative = "./lmdb/libraries/liblmdb" }); - lmdb_mod.addCSourceFiles(.{ .files = &.{ - "./lmdb/libraries/liblmdb/midl.c", - "./lmdb/libraries/liblmdb/mdb.c", - } }); - exe.root_module.addImport("lmdb", lmdb_mod); + const check = b.step("check", "Check if chirp compiles"); + check.dependOn(&exe_check.step); + + const lmdb = b.dependency("lmdb", .{ .target = target, .optimize = optimize }); + var lmdb_mod = lmdb.module("lmdb"); + lmdb_mod.omit_frame_pointer = false; + var db_mod = lmdb.module("db"); + db_mod.omit_frame_pointer = false; + + const http = b.dependency("http", .{ .target = target, .optimize = optimize }); + const http_mod = http.module("http"); + // lmdb_mod.omit_frame_pointer = false; + + exe.root_module.addImport("http", http_mod); + exe.root_module.addImport("lmdb", lmdb_mod); + exe.root_module.addImport("db", db_mod); exe.linkLibC(); + exe_check.root_module.addImport("http", http_mod); + exe_check.root_module.addImport("lmdb", lmdb_mod); + exe_check.root_module.addImport("db", db_mod); + exe_check.linkLibC(); + b.installArtifact(exe); const run_cmd = b.addRunArtifact(exe); - run_cmd.step.dependOn(b.getInstallStep()); - - if (b.args) |args| { - run_cmd.addArgs(args); - } - const run_step = b.step("run", "Run the app"); run_step.dependOn(&run_cmd.step); }