diff options
| author | t <t@tjp.lol> | 2026-06-16 12:28:55 -0600 |
|---|---|---|
| committer | t <t@tjp.lol> | 2026-06-16 13:10:31 -0600 |
| commit | 7847db3b13bc8639b5173ce3c56ae4068617ce12 (patch) | |
| tree | dabd476e020edfcd2b39681c14a78042d587632d /libpanto-c/build.zig | |
| parent | 493a15c310fe2566107a1b200cb654295502657a (diff) | |
support static linking, and openai_codex_responses in libpanto-c
Diffstat (limited to 'libpanto-c/build.zig')
| -rw-r--r-- | libpanto-c/build.zig | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libpanto-c/build.zig b/libpanto-c/build.zig index 8c3cb8e..2e3160c 100644 --- a/libpanto-c/build.zig +++ b/libpanto-c/build.zig @@ -14,8 +14,15 @@ pub fn build(b: *std.Build) void { }); mod.addImport("panto", panto_dep.module("panto")); - const lib = b.addLibrary(.{ .name = "panto", .root_module = mod, .linkage = .dynamic }); - lib.rdynamic = true; + const linkage = b.option(std.builtin.LinkMode, "linkage", "Library linkage: dynamic (default) or static") orelse .dynamic; + const lib = b.addLibrary(.{ .name = "panto", .root_module = mod, .linkage = linkage }); + if (linkage == .dynamic) { + lib.rdynamic = true; + } else { + // Bundle compiler_rt into the archive so the final consumer link + // (e.g. cgo) doesn't need Zig's runtime support library separately. + lib.bundle_compiler_rt = true; + } b.installArtifact(lib); b.installFile("include/panto.h", "include/panto.h"); |
