X-Git-Url: https://gitweb.ps.run/chirp/blobdiff_plain/0b2f4de9c1db5ec1059f6cd9b8c44e07f3af0b51..d8d69c3c3c00a7dec8c2f80aa9b5eac03e122811:/build.zig diff --git a/build.zig b/build.zig index 7a13429..c49960c 100644 --- a/build.zig +++ b/build.zig @@ -6,36 +6,43 @@ pub fn build(b: *std.Build) void { 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. + .name = "chirp", .root_source_file = .{ .cwd_relative = "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 epoll = b.addExecutable(.{ + .name = "epoll", + .root_source_file = .{ .cwd_relative = "src/epoll.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 lmdb = b.dependency("lmdb", .{ .target = target, .optimize = optimize }); + var lmdb_mod = lmdb.module("lmdb"); + lmdb_mod.omit_frame_pointer = false; + exe.root_module.addImport("lmdb", lmdb_mod); exe.linkLibC(); + epoll.root_module.addImport("lmdb", lmdb_mod); + epoll.linkLibC(); + + 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); 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); + + const run_epoll_cmd = b.addRunArtifact(epoll); + const run_epoll_step = b.step("runepoll", "run epoll"); + run_epoll_step.dependOn(&run_epoll_cmd.step); }