diff options
author | Pjotr Prins | 2025-02-11 02:19:49 -0600 |
---|---|---|
committer | Pjotr Prins | 2025-02-11 02:19:49 -0600 |
commit | 83d5d1535754016500af6854aab26c1fbdde73d0 (patch) | |
tree | 33f31b3d1f1e11d0f3376e3120eb1f29e4fd214c /guile-zig-local/build.zig | |
parent | 648ae2851d515e6b0e003d1ddb25d7b1f1e21c1f (diff) | |
download | presentations-83d5d1535754016500af6854aab26c1fbdde73d0.tar.gz |
Copied guile-zig talk from FOSDEM-2023
Diffstat (limited to 'guile-zig-local/build.zig')
-rw-r--r-- | guile-zig-local/build.zig | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/guile-zig-local/build.zig b/guile-zig-local/build.zig new file mode 100644 index 0000000..24aeb3a --- /dev/null +++ b/guile-zig-local/build.zig @@ -0,0 +1,27 @@ +const std = @import("std"); + +pub fn build(b: *std.build.Builder) void { + // Standard release options allow the person running `zig build` to select + // between Debug, ReleaseSafe, ReleaseFast, and ReleaseSmall. + const mode = b.standardReleaseOptions(); + + // const lib = b.addStaticLibrary("zig", "my.zig"); + const lib = b.addSharedLibrary("zig", "my.zig", .unversioned); + lib.setBuildMode(mode); + switch (mode) { + .Debug, .ReleaseSafe => lib.bundle_compiler_rt = true, + .ReleaseFast, .ReleaseSmall => lib.disable_stack_probing = true, + } + lib.force_pic = true; + // lib.emit_h = true; future version of zig? + lib.install(); + + const main_tests = b.addTest("my.zig"); + main_tests.setBuildMode(mode); + main_tests.addLibraryPath("build"); + main_tests.addObjectFile("build/libmy.so"); + + const test_step = b.step("test", "Run library tests"); + test_step.dependOn(&main_tests.step); +} + |