]> gitweb.ps.run Git - chirp/blob - build.zig
commit a whole bunch of changes before removing list form chirp in favor of external...
[chirp] / build.zig
1 const std = @import("std");
2
3 pub fn build(b: *std.Build) void {
4     const target = b.standardTargetOptions(.{});
5
6     const optimize = b.standardOptimizeOption(.{});
7
8     const exe = b.addExecutable(.{
9         .name = "chirp",
10         .root_source_file = .{ .cwd_relative = "src/main.zig" },
11         .target = target,
12         .optimize = optimize,
13     });
14
15     // other modules
16     exe.root_module.omit_frame_pointer = false;
17
18     const epoll = b.addExecutable(.{
19         .name = "epoll",
20         .root_source_file = .{ .cwd_relative = "src/epoll.zig" },
21         .target = target,
22         .optimize = optimize,
23     });
24
25     const lmdb = b.dependency("lmdb", .{ .target = target, .optimize = optimize });
26     var lmdb_mod = lmdb.module("lmdb");
27     lmdb_mod.omit_frame_pointer = false;
28     exe.root_module.addImport("lmdb", lmdb_mod);
29     exe.linkLibC();
30     epoll.root_module.addImport("lmdb", lmdb_mod);
31     epoll.linkLibC();
32
33     const http = b.dependency("http", .{ .target = target, .optimize = optimize });
34     const http_mod = http.module("http");
35     // lmdb_mod.omit_frame_pointer = false;
36     exe.root_module.addImport("http", http_mod);
37
38     b.installArtifact(exe);
39
40     const run_cmd = b.addRunArtifact(exe);
41     run_cmd.step.dependOn(b.getInstallStep());
42     const run_step = b.step("run", "Run the app");
43     run_step.dependOn(&run_cmd.step);
44
45     const run_epoll_cmd = b.addRunArtifact(epoll);
46     const run_epoll_step = b.step("runepoll", "run epoll");
47     run_epoll_step.dependOn(&run_epoll_cmd.step);
48 }