diff options
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); +} + |