summaryrefslogtreecommitdiff
path: root/libpanto-c/build.zig
diff options
context:
space:
mode:
authort <t@tjp.lol>2026-06-10 20:02:07 -0600
committert <t@tjp.lol>2026-06-10 20:38:57 -0600
commit813ebd014a7614fdcdf4df5570b50944f2626076 (patch)
treef261b18f62ee03b36814fcb93c3e0f3482a15fcd /libpanto-c/build.zig
parent824a2a8efc978a6bbd8a26e076624550ab3ea46b (diff)
libpanto-c
Diffstat (limited to 'libpanto-c/build.zig')
-rw-r--r--libpanto-c/build.zig26
1 files changed, 26 insertions, 0 deletions
diff --git a/libpanto-c/build.zig b/libpanto-c/build.zig
new file mode 100644
index 0000000..8c3cb8e
--- /dev/null
+++ b/libpanto-c/build.zig
@@ -0,0 +1,26 @@
+const std = @import("std");
+
+pub fn build(b: *std.Build) void {
+ const target = b.standardTargetOptions(.{});
+ const optimize = b.standardOptimizeOption(.{});
+
+ const panto_dep = b.dependency("panto", .{ .target = target, .optimize = optimize });
+
+ const mod = b.createModule(.{
+ .root_source_file = b.path("src/lib.zig"),
+ .target = target,
+ .optimize = optimize,
+ .link_libc = true,
+ });
+ mod.addImport("panto", panto_dep.module("panto"));
+
+ const lib = b.addLibrary(.{ .name = "panto", .root_module = mod, .linkage = .dynamic });
+ lib.rdynamic = true;
+ b.installArtifact(lib);
+ b.installFile("include/panto.h", "include/panto.h");
+
+ const unit_tests = b.addTest(.{ .name = "panto-c-tests", .root_module = mod });
+ const run_unit_tests = b.addRunArtifact(unit_tests);
+ const test_step = b.step("test", "Run unit tests");
+ test_step.dependOn(&run_unit_tests.step);
+}