mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-03-08 01:24:49 +01:00
chore(test/standalone): test linking libc in a shared library
This commit is contained in:
parent
87fa61bdd1
commit
a6f64096a1
1 changed files with 34 additions and 26 deletions
|
|
@ -6,32 +6,40 @@ pub fn build(b: *std.Build) void {
|
|||
|
||||
const optimize: std.builtin.OptimizeMode = .Debug;
|
||||
const target = b.graph.host;
|
||||
const lib = b.addLibrary(.{
|
||||
.linkage = .dynamic,
|
||||
.name = "mathtest",
|
||||
.version = .{ .major = 1, .minor = 0, .patch = 0 },
|
||||
.root_module = b.createModule(.{
|
||||
.root_source_file = b.path("mathtest.zig"),
|
||||
.target = target,
|
||||
.optimize = optimize,
|
||||
}),
|
||||
});
|
||||
|
||||
const exe = b.addExecutable(.{
|
||||
.name = "test",
|
||||
.root_module = b.createModule(.{
|
||||
.root_source_file = null,
|
||||
.target = target,
|
||||
.optimize = optimize,
|
||||
.link_libc = true,
|
||||
}),
|
||||
});
|
||||
exe.root_module.addCSourceFile(.{
|
||||
.file = b.path("test.c"),
|
||||
.flags = &[_][]const u8{"-std=c99"},
|
||||
});
|
||||
exe.root_module.linkLibrary(lib);
|
||||
const exe_names: []const []const u8 = &.{ "test", "test-dync" };
|
||||
const lib_names: []const []const u8 = &.{ "mathtest", "mathtest-dync" };
|
||||
const lib_link_libc: []const bool = &.{ false, true };
|
||||
|
||||
const run_cmd = b.addRunArtifact(exe);
|
||||
test_step.dependOn(&run_cmd.step);
|
||||
for (exe_names, lib_names, lib_link_libc) |exe_name, lib_name, dyn_libc| {
|
||||
const lib = b.addLibrary(.{
|
||||
.linkage = .dynamic,
|
||||
.name = lib_name,
|
||||
.version = .{ .major = 1, .minor = 0, .patch = 0 },
|
||||
.root_module = b.createModule(.{
|
||||
.root_source_file = b.path("mathtest.zig"),
|
||||
.target = target,
|
||||
.optimize = optimize,
|
||||
.link_libc = dyn_libc,
|
||||
}),
|
||||
});
|
||||
|
||||
const exe = b.addExecutable(.{
|
||||
.name = exe_name,
|
||||
.root_module = b.createModule(.{
|
||||
.root_source_file = null,
|
||||
.target = target,
|
||||
.optimize = optimize,
|
||||
.link_libc = true,
|
||||
}),
|
||||
});
|
||||
exe.root_module.addCSourceFile(.{
|
||||
.file = b.path("test.c"),
|
||||
.flags = &[_][]const u8{"-std=c99"},
|
||||
});
|
||||
exe.root_module.linkLibrary(lib);
|
||||
|
||||
const run_cmd = b.addRunArtifact(exe);
|
||||
test_step.dependOn(&run_cmd.step);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue