diff options
author | Robby Zambito <contact@robbyzambito.me> | 2025-04-19 23:56:47 -0400 |
---|---|---|
committer | Robby Zambito <contact@robbyzambito.me> | 2025-04-27 16:18:48 -0400 |
commit | 247c6b44077bf9fa86e65b289db8a85fe461245b (patch) | |
tree | 03ad714e529209e77fb5026afd22414824be5da9 /build.zig | |
parent | e847989592f8744307a82953cd13b3c491eb889e (diff) |
Initial C api
Diffstat (limited to 'build.zig')
-rw-r--r-- | build.zig | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -1,4 +1,5 @@ const std = @import("std"); +const Step = std.Build.Step; // Although this function looks imperative, note that its job is to // declaratively construct a build graph that will be executed by an external @@ -37,13 +38,30 @@ pub fn build(b: *std.Build) void { exe_mod.addImport("zaprus", lib_mod); exe_mod.addImport("clap", b.dependency("clap", .{}).module("clap")); - const lib = b.addLibrary(.{ + const static_lib = b.addLibrary(.{ .linkage = .static, .name = "zaprus", .root_module = lib_mod, }); - b.installArtifact(lib); + b.installArtifact(static_lib); + + const dynamic_lib = b.addLibrary(.{ + .linkage = .dynamic, + .name = "zaprus", + .root_module = lib_mod, + }); + + b.installArtifact(dynamic_lib); + + // C Headers + const c_header = b.addInstallFileWithDir( + b.path("include/zaprus.h"), + .header, + "zaprus.h", + ); + + b.getInstallStep().dependOn(&c_header.step); // This creates another `std.Build.Step.Compile`, but this one builds an executable // rather than a static library. |