mirror of
https://github.com/ziglang/zig.git
synced 2024-11-27 07:32:44 +00:00
429a219f42
Positional shared library arguments were not being detected as causing dynamic linking, resulting in invalid linker lines. LLD did not have an error message for this when targeting x86_64-linux but it did emit an error message when targeting aarch64-linux, which is how I noticed the problem. This surfaced an error having to do with fifo.pipe() in the cat example which I did not diagnose but solved the issue by doing the revamp that was already overdue for that example. It appears that the zig-window project was exploiting the previous behavior for it to function properly, so this prompts the question, is there some kind of static/dynamic executable hybrid that the compiler should recognize? Unclear - but we can discuss that in #7240.
21 lines
608 B
Zig
21 lines
608 B
Zig
const Builder = @import("std").build.Builder;
|
|
|
|
pub fn build(b: *Builder) void {
|
|
const target = b.standardTargetOptions(.{});
|
|
const lib = b.addSharedLibrary("mathtest", "mathtest.zig", b.version(1, 0, 0));
|
|
lib.setTarget(target);
|
|
|
|
const exe = b.addExecutable("test", null);
|
|
exe.setTarget(target);
|
|
exe.addCSourceFile("test.c", &[_][]const u8{"-std=c99"});
|
|
exe.linkLibrary(lib);
|
|
exe.linkSystemLibrary("c");
|
|
|
|
b.default_step.dependOn(&exe.step);
|
|
|
|
const run_cmd = exe.run();
|
|
|
|
const test_step = b.step("test", "Test the program");
|
|
test_step.dependOn(&run_cmd.step);
|
|
}
|