diff --git a/test/standalone/shared_library/build.zig b/test/standalone/shared_library/build.zig index 5b105e18cc..00c8e9cf34 100644 --- a/test/standalone/shared_library/build.zig +++ b/test/standalone/shared_library/build.zig @@ -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); + } }