diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-02-03 12:49:40 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-02-03 12:49:40 -0700 |
| commit | fab9b7110ed1fa7bb082aad5e095047441db2b24 (patch) | |
| tree | 81fef60aa45e7980dab8f3e23e5b5e92b40ee0a9 /test/link | |
| parent | d20d69b59e6b65a99f45cb6a45c14e887034dd18 (diff) | |
| parent | 60935decd318498529a016eeb1379d943a7e830d (diff) | |
| download | zig-fab9b7110ed1fa7bb082aad5e095047441db2b24.tar.gz zig-fab9b7110ed1fa7bb082aad5e095047441db2b24.zip | |
Merge remote-tracking branch 'origin/master' into llvm16
Diffstat (limited to 'test/link')
40 files changed, 444 insertions, 327 deletions
diff --git a/test/link/bss/build.zig b/test/link/bss/build.zig index 76e9bdb305..0df9c1d323 100644 --- a/test/link/bss/build.zig +++ b/test/link/bss/build.zig @@ -1,12 +1,15 @@ -const Builder = @import("std").build.Builder; +const std = @import("std"); -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const test_step = b.step("test", "Test"); - const exe = b.addExecutable("bss", "main.zig"); + const exe = b.addExecutable(.{ + .name = "bss", + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + }); b.default_step.dependOn(&exe.step); - exe.setBuildMode(mode); const run = exe.run(); run.expectStdOutEqual("0, 1, 0\n"); diff --git a/test/link/common_symbols/build.zig b/test/link/common_symbols/build.zig index 2f9f892e86..ee9dd94ebd 100644 --- a/test/link/common_symbols/build.zig +++ b/test/link/common_symbols/build.zig @@ -1,14 +1,19 @@ -const Builder = @import("std").build.Builder; +const std = @import("std"); -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); - const lib_a = b.addStaticLibrary("a", null); + const lib_a = b.addStaticLibrary(.{ + .name = "a", + .optimize = optimize, + .target = .{}, + }); lib_a.addCSourceFiles(&.{ "c.c", "a.c", "b.c" }, &.{"-fcommon"}); - lib_a.setBuildMode(mode); - const test_exe = b.addTest("main.zig"); - test_exe.setBuildMode(mode); + const test_exe = b.addTest(.{ + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + }); test_exe.linkLibrary(lib_a); const test_step = b.step("test", "Test it"); diff --git a/test/link/common_symbols_alignment/build.zig b/test/link/common_symbols_alignment/build.zig index a62d86af4f..f6efdc784b 100644 --- a/test/link/common_symbols_alignment/build.zig +++ b/test/link/common_symbols_alignment/build.zig @@ -1,14 +1,21 @@ -const Builder = @import("std").build.Builder; +const std = @import("std"); -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); + const target = b.standardTargetOptions(.{}); - const lib_a = b.addStaticLibrary("a", null); + const lib_a = b.addStaticLibrary(.{ + .name = "a", + .optimize = optimize, + .target = target, + }); lib_a.addCSourceFiles(&.{"a.c"}, &.{"-fcommon"}); - lib_a.setBuildMode(mode); - const test_exe = b.addTest("main.zig"); - test_exe.setBuildMode(mode); + const test_exe = b.addTest(.{ + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = target, + }); test_exe.linkLibrary(lib_a); const test_step = b.step("test", "Test it"); diff --git a/test/link/interdependent_static_c_libs/build.zig b/test/link/interdependent_static_c_libs/build.zig index bd1b6100da..d8962a8e08 100644 --- a/test/link/interdependent_static_c_libs/build.zig +++ b/test/link/interdependent_static_c_libs/build.zig @@ -1,20 +1,30 @@ -const Builder = @import("std").build.Builder; +const std = @import("std"); -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); + const target = b.standardTargetOptions(.{}); - const lib_a = b.addStaticLibrary("a", null); + const lib_a = b.addStaticLibrary(.{ + .name = "a", + .optimize = optimize, + .target = target, + }); lib_a.addCSourceFile("a.c", &[_][]const u8{}); - lib_a.setBuildMode(mode); lib_a.addIncludePath("."); - const lib_b = b.addStaticLibrary("b", null); + const lib_b = b.addStaticLibrary(.{ + .name = "b", + .optimize = optimize, + .target = target, + }); lib_b.addCSourceFile("b.c", &[_][]const u8{}); - lib_b.setBuildMode(mode); lib_b.addIncludePath("."); - const test_exe = b.addTest("main.zig"); - test_exe.setBuildMode(mode); + const test_exe = b.addTest(.{ + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = target, + }); test_exe.linkLibrary(lib_a); test_exe.linkLibrary(lib_b); test_exe.addIncludePath("."); diff --git a/test/link/macho/bugs/13056/build.zig b/test/link/macho/bugs/13056/build.zig index 751a7c4db6..662fd25c92 100644 --- a/test/link/macho/bugs/13056/build.zig +++ b/test/link/macho/bugs/13056/build.zig @@ -1,8 +1,7 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const target_info = std.zig.system.NativeTargetInfo.detect(target) catch unreachable; @@ -11,7 +10,10 @@ pub fn build(b: *Builder) void { const test_step = b.step("test", "Test the program"); - const exe = b.addExecutable("test", null); + const exe = b.addExecutable(.{ + .name = "test", + .optimize = optimize, + }); b.default_step.dependOn(&exe.step); exe.addIncludePath(std.fs.path.join(b.allocator, &.{ sdk.path, "/usr/include" }) catch unreachable); exe.addIncludePath(std.fs.path.join(b.allocator, &.{ sdk.path, "/usr/include/c++/v1" }) catch unreachable); @@ -20,7 +22,6 @@ pub fn build(b: *Builder) void { "-nostdinc++", }); exe.addObjectFile(std.fs.path.join(b.allocator, &.{ sdk.path, "/usr/lib/libc++.tbd" }) catch unreachable); - exe.setBuildMode(mode); const run_cmd = exe.run(); run_cmd.expectStdErrEqual("x: 5\n"); diff --git a/test/link/macho/bugs/13457/build.zig b/test/link/macho/bugs/13457/build.zig index 2de8c01c6a..3560b4a168 100644 --- a/test/link/macho/bugs/13457/build.zig +++ b/test/link/macho/bugs/13457/build.zig @@ -1,16 +1,17 @@ const std = @import("std"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test the program"); - const exe = b.addExecutable("test", "main.zig"); - exe.setBuildMode(mode); - exe.setTarget(target); + const exe = b.addExecutable(.{ + .name = "test", + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = target, + }); const run = exe.runEmulatable(); test_step.dependOn(&run.step); diff --git a/test/link/macho/dead_strip/build.zig b/test/link/macho/dead_strip/build.zig index 25759f5619..d82c81edca 100644 --- a/test/link/macho/dead_strip/build.zig +++ b/test/link/macho/dead_strip/build.zig @@ -1,9 +1,7 @@ const std = @import("std"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test the program"); @@ -11,7 +9,7 @@ pub fn build(b: *Builder) void { { // Without -dead_strip, we expect `iAmUnused` symbol present - const exe = createScenario(b, mode, target); + const exe = createScenario(b, optimize, target); const check = exe.checkObject(.macho); check.checkInSymtab(); @@ -24,7 +22,7 @@ pub fn build(b: *Builder) void { { // With -dead_strip, no `iAmUnused` symbol should be present - const exe = createScenario(b, mode, target); + const exe = createScenario(b, optimize, target); exe.link_gc_sections = true; const check = exe.checkObject(.macho); @@ -37,11 +35,17 @@ pub fn build(b: *Builder) void { } } -fn createScenario(b: *Builder, mode: std.builtin.Mode, target: std.zig.CrossTarget) *LibExeObjectStep { - const exe = b.addExecutable("test", null); +fn createScenario( + b: *std.Build, + optimize: std.builtin.OptimizeMode, + target: std.zig.CrossTarget, +) *std.Build.CompileStep { + const exe = b.addExecutable(.{ + .name = "test", + .optimize = optimize, + .target = target, + }); exe.addCSourceFile("main.c", &[0][]const u8{}); - exe.setBuildMode(mode); - exe.setTarget(target); exe.linkLibC(); return exe; } diff --git a/test/link/macho/dead_strip_dylibs/build.zig b/test/link/macho/dead_strip_dylibs/build.zig index efdaf191bd..8b62cec6e6 100644 --- a/test/link/macho/dead_strip_dylibs/build.zig +++ b/test/link/macho/dead_strip_dylibs/build.zig @@ -1,16 +1,14 @@ const std = @import("std"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const test_step = b.step("test", "Test the program"); test_step.dependOn(b.getInstallStep()); { // Without -dead_strip_dylibs we expect `-la` to include liba.dylib in the final executable - const exe = createScenario(b, mode); + const exe = createScenario(b, optimize); const check = exe.checkObject(.macho); check.checkStart("cmd LOAD_DYLIB"); @@ -27,7 +25,7 @@ pub fn build(b: *Builder) void { { // With -dead_strip_dylibs, we should include liba.dylib as it's unreachable - const exe = createScenario(b, mode); + const exe = createScenario(b, optimize); exe.dead_strip_dylibs = true; const run_cmd = exe.run(); @@ -36,10 +34,12 @@ pub fn build(b: *Builder) void { } } -fn createScenario(b: *Builder, mode: std.builtin.Mode) *LibExeObjectStep { - const exe = b.addExecutable("test", null); +fn createScenario(b: *std.Build, optimize: std.builtin.OptimizeMode) *std.Build.CompileStep { + const exe = b.addExecutable(.{ + .name = "test", + .optimize = optimize, + }); exe.addCSourceFile("main.c", &[0][]const u8{}); - exe.setBuildMode(mode); exe.linkLibC(); exe.linkFramework("Cocoa"); return exe; diff --git a/test/link/macho/dylib/build.zig b/test/link/macho/dylib/build.zig index a5baf255c6..7a1e2d862c 100644 --- a/test/link/macho/dylib/build.zig +++ b/test/link/macho/dylib/build.zig @@ -1,16 +1,18 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const dylib = b.addSharedLibrary("a", null, b.version(1, 0, 0)); - dylib.setBuildMode(mode); - dylib.setTarget(target); + const dylib = b.addSharedLibrary(.{ + .name = "a", + .version = .{ .major = 1, .minor = 0 }, + .optimize = optimize, + .target = target, + }); dylib.addCSourceFile("a.c", &.{}); dylib.linkLibC(); dylib.install(); @@ -24,9 +26,11 @@ pub fn build(b: *Builder) void { test_step.dependOn(&check_dylib.step); - const exe = b.addExecutable("main", null); - exe.setTarget(target); - exe.setBuildMode(mode); + const exe = b.addExecutable(.{ + .name = "main", + .optimize = optimize, + .target = target, + }); exe.addCSourceFile("main.c", &.{}); exe.linkSystemLibrary("a"); exe.linkLibC(); diff --git a/test/link/macho/empty/build.zig b/test/link/macho/empty/build.zig index ab016fd4bd..586da1511b 100644 --- a/test/link/macho/empty/build.zig +++ b/test/link/macho/empty/build.zig @@ -1,21 +1,22 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test the program"); test_step.dependOn(b.getInstallStep()); - const exe = b.addExecutable("test", null); + const exe = b.addExecutable(.{ + .name = "test", + .optimize = optimize, + .target = target, + }); exe.addCSourceFile("main.c", &[0][]const u8{}); exe.addCSourceFile("empty.c", &[0][]const u8{}); - exe.setBuildMode(mode); - exe.setTarget(target); exe.linkLibC(); - const run_cmd = std.build.EmulatableRunStep.create(b, "run", exe); + const run_cmd = std.Build.EmulatableRunStep.create(b, "run", exe); run_cmd.expectStdOutEqual("Hello!\n"); test_step.dependOn(&run_cmd.step); } diff --git a/test/link/macho/entry/build.zig b/test/link/macho/entry/build.zig index 0ecca14aa2..4504da9c6c 100644 --- a/test/link/macho/entry/build.zig +++ b/test/link/macho/entry/build.zig @@ -1,15 +1,16 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const exe = b.addExecutable("main", null); - exe.setTarget(.{ .os_tag = .macos }); - exe.setBuildMode(mode); + const exe = b.addExecutable(.{ + .name = "main", + .optimize = optimize, + .target = .{ .os_tag = .macos }, + }); exe.addCSourceFile("main.c", &.{}); exe.linkLibC(); exe.entry_symbol_name = "_non_main"; diff --git a/test/link/macho/headerpad/build.zig b/test/link/macho/headerpad/build.zig index 0730a01d44..3ef17573f8 100644 --- a/test/link/macho/headerpad/build.zig +++ b/test/link/macho/headerpad/build.zig @@ -1,17 +1,15 @@ const std = @import("std"); const builtin = @import("builtin"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); { // Test -headerpad_max_install_names - const exe = simpleExe(b, mode); + const exe = simpleExe(b, optimize); exe.headerpad_max_install_names = true; const check = exe.checkObject(.macho); @@ -36,7 +34,7 @@ pub fn build(b: *Builder) void { { // Test -headerpad - const exe = simpleExe(b, mode); + const exe = simpleExe(b, optimize); exe.headerpad_size = 0x10000; const check = exe.checkObject(.macho); @@ -52,7 +50,7 @@ pub fn build(b: *Builder) void { { // Test both flags with -headerpad overriding -headerpad_max_install_names - const exe = simpleExe(b, mode); + const exe = simpleExe(b, optimize); exe.headerpad_max_install_names = true; exe.headerpad_size = 0x10000; @@ -69,7 +67,7 @@ pub fn build(b: *Builder) void { { // Test both flags with -headerpad_max_install_names overriding -headerpad - const exe = simpleExe(b, mode); + const exe = simpleExe(b, optimize); exe.headerpad_size = 0x1000; exe.headerpad_max_install_names = true; @@ -94,9 +92,11 @@ pub fn build(b: *Builder) void { } } -fn simpleExe(b: *Builder, mode: std.builtin.Mode) *LibExeObjectStep { - const exe = b.addExecutable("main", null); - exe.setBuildMode(mode); +fn simpleExe(b: *std.Build, optimize: std.builtin.OptimizeMode) *std.Build.CompileStep { + const exe = b.addExecutable(.{ + .name = "main", + .optimize = optimize, + }); exe.addCSourceFile("main.c", &.{}); exe.linkLibC(); exe.linkFramework("CoreFoundation"); diff --git a/test/link/macho/linksection/build.zig b/test/link/macho/linksection/build.zig index 9204499803..227d4eeb63 100644 --- a/test/link/macho/linksection/build.zig +++ b/test/link/macho/linksection/build.zig @@ -1,15 +1,18 @@ const std = @import("std"); -pub fn build(b: *std.build.Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target = std.zig.CrossTarget{ .os_tag = .macos }; const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const obj = b.addObject("test", "main.zig"); - obj.setBuildMode(mode); - obj.setTarget(target); + const obj = b.addObject(.{ + .name = "test", + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = target, + }); const check = obj.checkObject(.macho); @@ -19,7 +22,7 @@ pub fn build(b: *std.build.Builder) void { check.checkInSymtab(); check.checkNext("{*} (__TEXT,__TestFn) external _testFn"); - if (mode == .Debug) { + if (optimize == .Debug) { check.checkInSymtab(); check.checkNext("{*} (__TEXT,__TestGenFnA) _main.testGenericFn__anon_{*}"); } diff --git a/test/link/macho/needed_framework/build.zig b/test/link/macho/needed_framework/build.zig index 4315935941..8b6e3dd87f 100644 --- a/test/link/macho/needed_framework/build.zig +++ b/test/link/macho/needed_framework/build.zig @@ -1,18 +1,18 @@ const std = @import("std"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const test_step = b.step("test", "Test the program"); test_step.dependOn(b.getInstallStep()); // -dead_strip_dylibs // -needed_framework Cocoa - const exe = b.addExecutable("test", null); + const exe = b.addExecutable(.{ + .name = "test", + .optimize = optimize, + }); exe.addCSourceFile("main.c", &[0][]const u8{}); - exe.setBuildMode(mode); exe.linkLibC(); exe.linkFrameworkNeeded("Cocoa"); exe.dead_strip_dylibs = true; diff --git a/test/link/macho/needed_library/build.zig b/test/link/macho/needed_library/build.zig index a314fd2201..92a73d22b7 100644 --- a/test/link/macho/needed_library/build.zig +++ b/test/link/macho/needed_library/build.zig @@ -1,27 +1,30 @@ const std = @import("std"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test the program"); test_step.dependOn(b.getInstallStep()); - const dylib = b.addSharedLibrary("a", null, b.version(1, 0, 0)); - dylib.setTarget(target); - dylib.setBuildMode(mode); + const dylib = b.addSharedLibrary(.{ + .name = "a", + .version = .{ .major = 1, .minor = 0 }, + .optimize = optimize, + .target = target, + }); dylib.addCSourceFile("a.c", &.{}); dylib.linkLibC(); dylib.install(); // -dead_strip_dylibs // -needed-la - const exe = b.addExecutable("test", null); + const exe = b.addExecutable(.{ + .name = "test", + .optimize = optimize, + .target = target, + }); exe.addCSourceFile("main.c", &[0][]const u8{}); - exe.setBuildMode(mode); - exe.setTarget(target); exe.linkLibC(); exe.linkSystemLibraryNeeded("a"); exe.addLibraryPath(b.pathFromRoot("zig-out/lib")); diff --git a/test/link/macho/objc/build.zig b/test/link/macho/objc/build.zig index d7fd872f77..10d293baab 100644 --- a/test/link/macho/objc/build.zig +++ b/test/link/macho/objc/build.zig @@ -1,21 +1,22 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const test_step = b.step("test", "Test the program"); - const exe = b.addExecutable("test", null); + const exe = b.addExecutable(.{ + .name = "test", + .optimize = optimize, + }); exe.addIncludePath("."); exe.addCSourceFile("Foo.m", &[0][]const u8{}); exe.addCSourceFile("test.m", &[0][]const u8{}); - exe.setBuildMode(mode); exe.linkLibC(); // TODO when we figure out how to ship framework stubs for cross-compilation, // populate paths to the sysroot here. exe.linkFramework("Foundation"); - const run_cmd = std.build.EmulatableRunStep.create(b, "run", exe); + const run_cmd = std.Build.EmulatableRunStep.create(b, "run", exe); test_step.dependOn(&run_cmd.step); } diff --git a/test/link/macho/objcpp/build.zig b/test/link/macho/objcpp/build.zig index 767578e225..2a3459be50 100644 --- a/test/link/macho/objcpp/build.zig +++ b/test/link/macho/objcpp/build.zig @@ -1,17 +1,18 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const test_step = b.step("test", "Test the program"); - const exe = b.addExecutable("test", null); + const exe = b.addExecutable(.{ + .name = "test", + .optimize = optimize, + }); b.default_step.dependOn(&exe.step); exe.addIncludePath("."); exe.addCSourceFile("Foo.mm", &[0][]const u8{}); exe.addCSourceFile("test.mm", &[0][]const u8{}); - exe.setBuildMode(mode); exe.linkLibCpp(); // TODO when we figure out how to ship framework stubs for cross-compilation, // populate paths to the sysroot here. diff --git a/test/link/macho/pagezero/build.zig b/test/link/macho/pagezero/build.zig index 5a7044d960..0a8471b919 100644 --- a/test/link/macho/pagezero/build.zig +++ b/test/link/macho/pagezero/build.zig @@ -1,17 +1,18 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); { - const exe = b.addExecutable("pagezero", null); - exe.setTarget(target); - exe.setBuildMode(mode); + const exe = b.addExecutable(.{ + .name = "pagezero", + .optimize = optimize, + .target = target, + }); exe.addCSourceFile("main.c", &.{}); exe.linkLibC(); exe.pagezero_size = 0x4000; @@ -29,9 +30,11 @@ pub fn build(b: *Builder) void { } { - const exe = b.addExecutable("no_pagezero", null); - exe.setTarget(target); - exe.setBuildMode(mode); + const exe = b.addExecutable(.{ + .name = "no_pagezero", + .optimize = optimize, + .target = target, + }); exe.addCSourceFile("main.c", &.{}); exe.linkLibC(); exe.pagezero_size = 0; diff --git a/test/link/macho/search_strategy/build.zig b/test/link/macho/search_strategy/build.zig index e556b5bb23..62757f885b 100644 --- a/test/link/macho/search_strategy/build.zig +++ b/test/link/macho/search_strategy/build.zig @@ -1,9 +1,7 @@ const std = @import("std"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test"); @@ -11,7 +9,7 @@ pub fn build(b: *Builder) void { { // -search_dylibs_first - const exe = createScenario(b, mode, target); + const exe = createScenario(b, optimize, target); exe.search_strategy = .dylibs_first; const check = exe.checkObject(.macho); @@ -26,40 +24,51 @@ pub fn build(b: *Builder) void { { // -search_paths_first - const exe = createScenario(b, mode, target); + const exe = createScenario(b, optimize, target); exe.search_strategy = .paths_first; - const run = std.build.EmulatableRunStep.create(b, "run", exe); + const run = std.Build.EmulatableRunStep.create(b, "run", exe); run.cwd = b.pathFromRoot("."); run.expectStdOutEqual("Hello world"); test_step.dependOn(&run.step); } } -fn createScenario(b: *Builder, mode: std.builtin.Mode, target: std.zig.CrossTarget) *LibExeObjectStep { - const static = b.addStaticLibrary("a", null); - static.setTarget(target); - static.setBuildMode(mode); +fn createScenario( + b: *std.Build, + optimize: std.builtin.OptimizeMode, + target: std.zig.CrossTarget, +) *std.Build.CompileStep { + const static = b.addStaticLibrary(.{ + .name = "a", + .optimize = optimize, + .target = target, + }); static.addCSourceFile("a.c", &.{}); static.linkLibC(); - static.override_dest_dir = std.build.InstallDir{ + static.override_dest_dir = std.Build.InstallDir{ .custom = "static", }; static.install(); - const dylib = b.addSharedLibrary("a", null, b.version(1, 0, 0)); - dylib.setTarget(target); - dylib.setBuildMode(mode); + const dylib = b.addSharedLibrary(.{ + .name = "a", + .version = .{ .major = 1, .minor = 0 }, + .optimize = optimize, + .target = target, + }); dylib.addCSourceFile("a.c", &.{}); dylib.linkLibC(); - dylib.override_dest_dir = std.build.InstallDir{ + dylib.override_dest_dir = std.Build.InstallDir{ .custom = "dynamic", }; dylib.install(); - const exe = b.addExecutable("main", null); - exe.setTarget(target); - exe.setBuildMode(mode); + const exe = b.addExecutable(.{ + .name = "main", + .optimize = optimize, + .target = target, + }); exe.addCSourceFile("main.c", &.{}); exe.linkSystemLibraryName("a"); exe.linkLibC(); diff --git a/test/link/macho/stack_size/build.zig b/test/link/macho/stack_size/build.zig index 91c44baf52..3529a134eb 100644 --- a/test/link/macho/stack_size/build.zig +++ b/test/link/macho/stack_size/build.zig @@ -1,16 +1,17 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const exe = b.addExecutable("main", null); - exe.setTarget(target); - exe.setBuildMode(mode); + const exe = b.addExecutable(.{ + .name = "main", + .optimize = optimize, + .target = target, + }); exe.addCSourceFile("main.c", &.{}); exe.linkLibC(); exe.stack_size = 0x100000000; diff --git a/test/link/macho/strict_validation/build.zig b/test/link/macho/strict_validation/build.zig index 0ea150252c..408076657b 100644 --- a/test/link/macho/strict_validation/build.zig +++ b/test/link/macho/strict_validation/build.zig @@ -1,18 +1,19 @@ const std = @import("std"); const builtin = @import("builtin"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const exe = b.addExecutable("main", "main.zig"); - exe.setBuildMode(mode); - exe.setTarget(target); + const exe = b.addExecutable(.{ + .name = "main", + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = target, + }); exe.linkLibC(); const check_exe = exe.checkObject(.macho); diff --git a/test/link/macho/tls/build.zig b/test/link/macho/tls/build.zig index 031a05cedf..c77588cb5d 100644 --- a/test/link/macho/tls/build.zig +++ b/test/link/macho/tls/build.zig @@ -1,19 +1,23 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; - const lib = b.addSharedLibrary("a", null, b.version(1, 0, 0)); - lib.setBuildMode(mode); - lib.setTarget(target); + const lib = b.addSharedLibrary(.{ + .name = "a", + .version = .{ .major = 1, .minor = 0 }, + .optimize = optimize, + .target = target, + }); lib.addCSourceFile("a.c", &.{}); lib.linkLibC(); - const test_exe = b.addTest("main.zig"); - test_exe.setBuildMode(mode); - test_exe.setTarget(target); + const test_exe = b.addTest(.{ + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = target, + }); test_exe.linkLibrary(lib); test_exe.linkLibC(); diff --git a/test/link/macho/unwind_info/build.zig b/test/link/macho/unwind_info/build.zig index cc00854465..408f762f5d 100644 --- a/test/link/macho/unwind_info/build.zig +++ b/test/link/macho/unwind_info/build.zig @@ -1,26 +1,24 @@ const std = @import("std"); const builtin = @import("builtin"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test the program"); - testUnwindInfo(b, test_step, mode, target, false); - testUnwindInfo(b, test_step, mode, target, true); + testUnwindInfo(b, test_step, optimize, target, false); + testUnwindInfo(b, test_step, optimize, target, true); } fn testUnwindInfo( - b: *Builder, - test_step: *std.build.Step, - mode: std.builtin.Mode, + b: *std.Build, + test_step: *std.Build.Step, + optimize: std.builtin.OptimizeMode, target: std.zig.CrossTarget, dead_strip: bool, ) void { - const exe = createScenario(b, mode, target); + const exe = createScenario(b, optimize, target); exe.link_gc_sections = dead_strip; const check = exe.checkObject(.macho); @@ -52,8 +50,16 @@ fn testUnwindInfo( test_step.dependOn(&run_cmd.step); } -fn createScenario(b: *Builder, mode: std.builtin.Mode, target: std.zig.CrossTarget) *LibExeObjectStep { - const exe = b.addExecutable("test", null); +fn createScenario( + b: *std.Build, + optimize: std.builtin.OptimizeMode, + target: std.zig.CrossTarget, +) *std.Build.CompileStep { + const exe = b.addExecutable(.{ + .name = "test", + .optimize = optimize, + .target = target, + }); b.default_step.dependOn(&exe.step); exe.addIncludePath("."); exe.addCSourceFiles(&[_][]const u8{ @@ -61,8 +67,6 @@ fn createScenario(b: *Builder, mode: std.builtin.Mode, target: std.zig.CrossTarg "simple_string.cpp", "simple_string_owner.cpp", }, &[0][]const u8{}); - exe.setBuildMode(mode); - exe.setTarget(target); exe.linkLibCpp(); return exe; } diff --git a/test/link/macho/uuid/build.zig b/test/link/macho/uuid/build.zig index 314febdb20..6a68263fbf 100644 --- a/test/link/macho/uuid/build.zig +++ b/test/link/macho/uuid/build.zig @@ -1,8 +1,6 @@ const std = @import("std"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { +pub fn build(b: *std.Build) void { const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); @@ -27,23 +25,23 @@ pub fn build(b: *Builder) void { } fn testUuid( - b: *Builder, - test_step: *std.build.Step, - mode: std.builtin.Mode, + b: *std.Build, + test_step: *std.Build.Step, + optimize: std.builtin.OptimizeMode, target: std.zig.CrossTarget, comptime exp: []const u8, ) void { // The calculated UUID value is independent of debug info and so it should // stay the same across builds. { - const dylib = simpleDylib(b, mode, target); + const dylib = simpleDylib(b, optimize, target); const check_dylib = dylib.checkObject(.macho); check_dylib.checkStart("cmd UUID"); check_dylib.checkNext("uuid " ++ exp); test_step.dependOn(&check_dylib.step); } { - const dylib = simpleDylib(b, mode, target); + const dylib = simpleDylib(b, optimize, target); dylib.strip = true; const check_dylib = dylib.checkObject(.macho); check_dylib.checkStart("cmd UUID"); @@ -52,10 +50,17 @@ fn testUuid( } } -fn simpleDylib(b: *Builder, mode: std.builtin.Mode, target: std.zig.CrossTarget) *LibExeObjectStep { - const dylib = b.addSharedLibrary("test", null, b.version(1, 0, 0)); - dylib.setTarget(target); - dylib.setBuildMode(mode); +fn simpleDylib( + b: *std.Build, + optimize: std.builtin.OptimizeMode, + target: std.zig.CrossTarget, +) *std.Build.CompileStep { + const dylib = b.addSharedLibrary(.{ + .name = "test", + .version = .{ .major = 1, .minor = 0 }, + .optimize = optimize, + .target = target, + }); dylib.addCSourceFile("test.c", &.{}); dylib.linkLibC(); return dylib; diff --git a/test/link/macho/weak_framework/build.zig b/test/link/macho/weak_framework/build.zig index 44675a15f8..ca28458d77 100644 --- a/test/link/macho/weak_framework/build.zig +++ b/test/link/macho/weak_framework/build.zig @@ -1,16 +1,16 @@ const std = @import("std"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const test_step = b.step("test", "Test the program"); test_step.dependOn(b.getInstallStep()); - const exe = b.addExecutable("test", null); + const exe = b.addExecutable(.{ + .name = "test", + .optimize = optimize, + }); exe.addCSourceFile("main.c", &[0][]const u8{}); - exe.setBuildMode(mode); exe.linkLibC(); exe.linkFrameworkWeak("Cocoa"); diff --git a/test/link/macho/weak_library/build.zig b/test/link/macho/weak_library/build.zig index 79f67bd7df..de5aa45e30 100644 --- a/test/link/macho/weak_library/build.zig +++ b/test/link/macho/weak_library/build.zig @@ -1,25 +1,28 @@ const std = @import("std"); -const Builder = std.build.Builder; -const LibExeObjectStep = std.build.LibExeObjStep; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const target: std.zig.CrossTarget = .{ .os_tag = .macos }; const test_step = b.step("test", "Test the program"); test_step.dependOn(b.getInstallStep()); - const dylib = b.addSharedLibrary("a", null, b.version(1, 0, 0)); - dylib.setTarget(target); - dylib.setBuildMode(mode); + const dylib = b.addSharedLibrary(.{ + .name = "a", + .version = .{ .major = 1, .minor = 0, .patch = 0 }, + .target = target, + .optimize = optimize, + }); dylib.addCSourceFile("a.c", &.{}); dylib.linkLibC(); dylib.install(); - const exe = b.addExecutable("test", null); + const exe = b.addExecutable(.{ + .name = "test", + .target = target, + .optimize = optimize, + }); exe.addCSourceFile("main.c", &[0][]const u8{}); - exe.setTarget(target); - exe.setBuildMode(mode); exe.linkLibC(); exe.linkSystemLibraryWeak("a"); exe.addLibraryPath(b.pathFromRoot("zig-out/lib")); diff --git a/test/link/static_lib_as_system_lib/build.zig b/test/link/static_lib_as_system_lib/build.zig index f39f3fac2a..b6cf32d711 100644 --- a/test/link/static_lib_as_system_lib/build.zig +++ b/test/link/static_lib_as_system_lib/build.zig @@ -1,17 +1,23 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); + const target = b.standardTargetOptions(.{}); - const lib_a = b.addStaticLibrary("a", null); + const lib_a = b.addStaticLibrary(.{ + .name = "a", + .optimize = optimize, + .target = target, + }); lib_a.addCSourceFile("a.c", &[_][]const u8{}); - lib_a.setBuildMode(mode); lib_a.addIncludePath("."); lib_a.install(); - const test_exe = b.addTest("main.zig"); - test_exe.setBuildMode(mode); + const test_exe = b.addTest(.{ + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = target, + }); test_exe.linkSystemLibrary("a"); // force linking liba.a as -la test_exe.addSystemIncludePath("."); const search_path = std.fs.path.join(b.allocator, &[_][]const u8{ b.install_path, "lib" }) catch unreachable; diff --git a/test/link/wasm/archive/build.zig b/test/link/wasm/archive/build.zig index 7efa88999a..342c4c08d1 100644 --- a/test/link/wasm/archive/build.zig +++ b/test/link/wasm/archive/build.zig @@ -1,17 +1,17 @@ const std = @import("std"); -const Builder = std.build.Builder; - -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); // The code in question will pull-in compiler-rt, // and therefore link with its archive file. - const lib = b.addSharedLibrary("main", "main.zig", .unversioned); - lib.setBuildMode(mode); - lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const lib = b.addSharedLibrary(.{ + .name = "main", + .root_source_file = .{ .path = "main.zig" }, + .optimize = b.standardOptimizeOption(.{}), + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + }); lib.use_llvm = false; lib.use_lld = false; lib.strip = false; diff --git a/test/link/wasm/basic-features/build.zig b/test/link/wasm/basic-features/build.zig index 2c565f9263..9f57066518 100644 --- a/test/link/wasm/basic-features/build.zig +++ b/test/link/wasm/basic-features/build.zig @@ -1,14 +1,18 @@ const std = @import("std"); -pub fn build(b: *std.build.Builder) void { - const mode = b.standardReleaseOptions(); - +pub fn build(b: *std.Build) void { // Library with explicitly set cpu features - const lib = b.addSharedLibrary("lib", "main.zig", .unversioned); - lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); - lib.target.cpu_model = .{ .explicit = &std.Target.wasm.cpu.mvp }; - lib.target.cpu_features_add.addFeature(0); // index 0 == atomics (see std.Target.wasm.Features) - lib.setBuildMode(mode); + const lib = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "main.zig" }, + .optimize = b.standardOptimizeOption(.{}), + .target = .{ + .cpu_arch = .wasm32, + .cpu_model = .{ .explicit = &std.Target.wasm.cpu.mvp }, + .cpu_features_add = std.Target.wasm.featureSet(&.{.atomics}), + .os_tag = .freestanding, + }, + }); lib.use_llvm = false; lib.use_lld = false; diff --git a/test/link/wasm/bss/build.zig b/test/link/wasm/bss/build.zig index e234a3f402..1017e70a71 100644 --- a/test/link/wasm/bss/build.zig +++ b/test/link/wasm/bss/build.zig @@ -1,15 +1,15 @@ const std = @import("std"); -const Builder = std.build.Builder; - -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const lib = b.addSharedLibrary("lib", "lib.zig", .unversioned); - lib.setBuildMode(mode); - lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const lib = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "lib.zig" }, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + .optimize = b.standardOptimizeOption(.{}), + }); lib.use_llvm = false; lib.use_lld = false; lib.strip = false; diff --git a/test/link/wasm/export-data/build.zig b/test/link/wasm/export-data/build.zig index 283566dab3..c989153e47 100644 --- a/test/link/wasm/export-data/build.zig +++ b/test/link/wasm/export-data/build.zig @@ -1,13 +1,15 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { +pub fn build(b: *std.Build) void { const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const lib = b.addSharedLibrary("lib", "lib.zig", .unversioned); - lib.setBuildMode(.ReleaseSafe); // to make the output deterministic in address positions - lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const lib = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "lib.zig" }, + .optimize = .ReleaseSafe, // to make the output deterministic in address positions + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + }); lib.use_lld = false; lib.export_symbol_names = &.{ "foo", "bar" }; lib.global_base = 0; // put data section at address 0 to make data symbols easier to parse @@ -23,8 +25,8 @@ pub fn build(b: *Builder) void { check_lib.checkNext("type i32"); check_lib.checkNext("mutable false"); check_lib.checkNext("i32.const {bar_address}"); - check_lib.checkComputeCompare("foo_address", .{ .op = .eq, .value = .{ .literal = 0 } }); - check_lib.checkComputeCompare("bar_address", .{ .op = .eq, .value = .{ .literal = 4 } }); + check_lib.checkComputeCompare("foo_address", .{ .op = .eq, .value = .{ .literal = 4 } }); + check_lib.checkComputeCompare("bar_address", .{ .op = .eq, .value = .{ .literal = 0 } }); check_lib.checkStart("Section export"); check_lib.checkNext("entries 3"); diff --git a/test/link/wasm/export/build.zig b/test/link/wasm/export/build.zig index 181e77e296..69c34a320e 100644 --- a/test/link/wasm/export/build.zig +++ b/test/link/wasm/export/build.zig @@ -1,24 +1,33 @@ const std = @import("std"); -pub fn build(b: *std.build.Builder) void { - const mode = b.standardReleaseOptions(); - - const no_export = b.addSharedLibrary("no-export", "main.zig", .unversioned); - no_export.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); - no_export.setBuildMode(mode); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); + + const no_export = b.addSharedLibrary(.{ + .name = "no-export", + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + }); no_export.use_llvm = false; no_export.use_lld = false; - const dynamic_export = b.addSharedLibrary("dynamic", "main.zig", .unversioned); - dynamic_export.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); - dynamic_export.setBuildMode(mode); + const dynamic_export = b.addSharedLibrary(.{ + .name = "dynamic", + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + }); dynamic_export.rdynamic = true; dynamic_export.use_llvm = false; dynamic_export.use_lld = false; - const force_export = b.addSharedLibrary("force", "main.zig", .unversioned); - force_export.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); - force_export.setBuildMode(mode); + const force_export = b.addSharedLibrary(.{ + .name = "force", + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + }); force_export.export_symbol_names = &.{"foo"}; force_export.use_llvm = false; force_export.use_lld = false; diff --git a/test/link/wasm/extern-mangle/build.zig b/test/link/wasm/extern-mangle/build.zig index ae46117f18..19913e6eca 100644 --- a/test/link/wasm/extern-mangle/build.zig +++ b/test/link/wasm/extern-mangle/build.zig @@ -1,15 +1,15 @@ const std = @import("std"); -const Builder = std.build.Builder; - -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const lib = b.addSharedLibrary("lib", "lib.zig", .unversioned); - lib.setBuildMode(mode); - lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const lib = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "lib.zig" }, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + .optimize = b.standardOptimizeOption(.{}), + }); lib.import_symbols = true; // import `a` and `b` lib.rdynamic = true; // export `foo` lib.install(); diff --git a/test/link/wasm/extern/build.zig b/test/link/wasm/extern/build.zig index 88cce88d98..569d94091a 100644 --- a/test/link/wasm/extern/build.zig +++ b/test/link/wasm/extern/build.zig @@ -1,10 +1,12 @@ const std = @import("std"); -pub fn build(b: *std.build.Builder) void { - const mode = b.standardReleaseOptions(); - const exe = b.addExecutable("extern", "main.zig"); - exe.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .wasi }); - exe.setBuildMode(mode); +pub fn build(b: *std.Build) void { + const exe = b.addExecutable(.{ + .name = "extern", + .root_source_file = .{ .path = "main.zig" }, + .optimize = b.standardOptimizeOption(.{}), + .target = .{ .cpu_arch = .wasm32, .os_tag = .wasi }, + }); exe.addCSourceFile("foo.c", &.{}); exe.use_llvm = false; exe.use_lld = false; diff --git a/test/link/wasm/function-table/build.zig b/test/link/wasm/function-table/build.zig index f7572bd6b1..4c25d0d860 100644 --- a/test/link/wasm/function-table/build.zig +++ b/test/link/wasm/function-table/build.zig @@ -1,29 +1,37 @@ const std = @import("std"); -const Builder = std.build.Builder; -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const import_table = b.addSharedLibrary("lib", "lib.zig", .unversioned); - import_table.setBuildMode(mode); - import_table.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const import_table = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "lib.zig" }, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + .optimize = optimize, + }); import_table.use_llvm = false; import_table.use_lld = false; import_table.import_table = true; - const export_table = b.addSharedLibrary("lib", "lib.zig", .unversioned); - export_table.setBuildMode(mode); - export_table.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const export_table = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "lib.zig" }, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + .optimize = optimize, + }); export_table.use_llvm = false; export_table.use_lld = false; export_table.export_table = true; - const regular_table = b.addSharedLibrary("lib", "lib.zig", .unversioned); - regular_table.setBuildMode(mode); - regular_table.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const regular_table = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "lib.zig" }, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + .optimize = optimize, + }); regular_table.use_llvm = false; regular_table.use_lld = false; diff --git a/test/link/wasm/infer-features/build.zig b/test/link/wasm/infer-features/build.zig index b50caf7264..d6d706a33d 100644 --- a/test/link/wasm/infer-features/build.zig +++ b/test/link/wasm/infer-features/build.zig @@ -1,21 +1,32 @@ const std = @import("std"); -pub fn build(b: *std.build.Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); // Wasm Object file which we will use to infer the features from - const c_obj = b.addObject("c_obj", null); - c_obj.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); - c_obj.target.cpu_model = .{ .explicit = &std.Target.wasm.cpu.bleeding_edge }; + const c_obj = b.addObject(.{ + .name = "c_obj", + .optimize = optimize, + .target = .{ + .cpu_arch = .wasm32, + .cpu_model = .{ .explicit = &std.Target.wasm.cpu.bleeding_edge }, + .os_tag = .freestanding, + }, + }); c_obj.addCSourceFile("foo.c", &.{}); - c_obj.setBuildMode(mode); // Wasm library that doesn't have any features specified. This will // infer its featureset from other linked object files. - const lib = b.addSharedLibrary("lib", "main.zig", .unversioned); - lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); - lib.target.cpu_model = .{ .explicit = &std.Target.wasm.cpu.mvp }; - lib.setBuildMode(mode); + const lib = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "main.zig" }, + .optimize = optimize, + .target = .{ + .cpu_arch = .wasm32, + .cpu_model = .{ .explicit = &std.Target.wasm.cpu.mvp }, + .os_tag = .freestanding, + }, + }); lib.use_llvm = false; lib.use_lld = false; lib.addObject(c_obj); diff --git a/test/link/wasm/producers/build.zig b/test/link/wasm/producers/build.zig index 7557b4fa41..2589b0dfcf 100644 --- a/test/link/wasm/producers/build.zig +++ b/test/link/wasm/producers/build.zig @@ -1,16 +1,16 @@ const std = @import("std"); const builtin = @import("builtin"); -const Builder = std.build.Builder; - -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const lib = b.addSharedLibrary("lib", "lib.zig", .unversioned); - lib.setBuildMode(mode); - lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const lib = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "lib.zig" }, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + .optimize = b.standardOptimizeOption(.{}), + }); lib.use_llvm = false; lib.use_lld = false; lib.strip = false; diff --git a/test/link/wasm/segments/build.zig b/test/link/wasm/segments/build.zig index 1b2cdf87ab..76160e905f 100644 --- a/test/link/wasm/segments/build.zig +++ b/test/link/wasm/segments/build.zig @@ -1,15 +1,15 @@ const std = @import("std"); -const Builder = std.build.Builder; - -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const lib = b.addSharedLibrary("lib", "lib.zig", .unversioned); - lib.setBuildMode(mode); - lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const lib = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "lib.zig" }, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + .optimize = b.standardOptimizeOption(.{}), + }); lib.use_llvm = false; lib.use_lld = false; lib.strip = false; diff --git a/test/link/wasm/stack_pointer/build.zig b/test/link/wasm/stack_pointer/build.zig index 5b67c3caa3..95c7643880 100644 --- a/test/link/wasm/stack_pointer/build.zig +++ b/test/link/wasm/stack_pointer/build.zig @@ -1,15 +1,15 @@ const std = @import("std"); -const Builder = std.build.Builder; - -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const lib = b.addSharedLibrary("lib", "lib.zig", .unversioned); - lib.setBuildMode(mode); - lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const lib = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "lib.zig" }, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + .optimize = b.standardOptimizeOption(.{}), + }); lib.use_llvm = false; lib.use_lld = false; lib.strip = false; diff --git a/test/link/wasm/type/build.zig b/test/link/wasm/type/build.zig index fbae6dc741..816b57ccab 100644 --- a/test/link/wasm/type/build.zig +++ b/test/link/wasm/type/build.zig @@ -1,15 +1,15 @@ const std = @import("std"); -const Builder = std.build.Builder; - -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { const test_step = b.step("test", "Test"); test_step.dependOn(b.getInstallStep()); - const lib = b.addSharedLibrary("lib", "lib.zig", .unversioned); - lib.setBuildMode(mode); - lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); + const lib = b.addSharedLibrary(.{ + .name = "lib", + .root_source_file = .{ .path = "lib.zig" }, + .target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding }, + .optimize = b.standardOptimizeOption(.{}), + }); lib.use_llvm = false; lib.use_lld = false; lib.strip = false; |
