mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 22:35:24 +00:00
re-enable wasm linker tests
This commit is contained in:
parent
f558c835a4
commit
cdf0a2af58
362
test/link.zig
362
test/link.zig
@ -20,197 +20,179 @@ pub const cases = [_]Case{
|
||||
.build_root = "test/link/interdependent_static_c_libs",
|
||||
.import = @import("link/interdependent_static_c_libs/build.zig"),
|
||||
},
|
||||
};
|
||||
|
||||
//pub fn addCases(cases: *Standalone) void {
|
||||
// addWasmCases(cases);
|
||||
// addMachOCases(cases);
|
||||
//}
|
||||
//
|
||||
//fn addWasmCases(cases: *Standalone) void {
|
||||
// cases.addBuildFile("test/link/wasm/archive/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/basic-features/build.zig", .{
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/bss/build.zig", .{
|
||||
// .build_modes = false,
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/export/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//
|
||||
// // TODO: Fix open handle in wasm-linker refraining rename from working on Windows.
|
||||
// if (builtin.os.tag != .windows) {
|
||||
// cases.addBuildFile("test/link/wasm/export-data/build.zig", .{});
|
||||
// }
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/extern/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_stage2 = true,
|
||||
// .use_emulation = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/extern-mangle/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/function-table/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/infer-features/build.zig", .{
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/producers/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/segments/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/stack_pointer/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/wasm/type/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_stage2 = true,
|
||||
// });
|
||||
//}
|
||||
//
|
||||
//fn addMachOCases(cases: *tests.StandaloneContext) void {
|
||||
// cases.addBuildFile("test/link/macho/bugs/13056/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/bugs/13457/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/dead_strip/build.zig", .{
|
||||
// .build_modes = false,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/dead_strip_dylibs/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/dylib/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/empty/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/entry/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/headerpad/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/linksection/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/needed_framework/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/needed_library/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/objc/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/objcpp/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/pagezero/build.zig", .{
|
||||
// .build_modes = false,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/search_strategy/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/stack_size/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/strict_validation/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/tls/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/unwind_info/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/uuid/build.zig", .{
|
||||
// .build_modes = false,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/weak_library/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/weak_framework/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//}
|
||||
// WASM Cases
|
||||
.{
|
||||
.build_root = "test/link/wasm/archive",
|
||||
.import = @import("link/wasm/archive/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/basic-features",
|
||||
.import = @import("link/wasm/basic-features/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/bss",
|
||||
.import = @import("link/wasm/bss/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/export",
|
||||
.import = @import("link/wasm/export/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/export-data",
|
||||
.import = @import("link/wasm/export-data/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/extern",
|
||||
.import = @import("link/wasm/extern/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/extern-mangle",
|
||||
.import = @import("link/wasm/extern-mangle/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/function-table",
|
||||
.import = @import("link/wasm/function-table/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/infer-features",
|
||||
.import = @import("link/wasm/infer-features/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/producers",
|
||||
.import = @import("link/wasm/producers/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/segments",
|
||||
.import = @import("link/wasm/segments/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/stack_pointer",
|
||||
.import = @import("link/wasm/stack_pointer/build.zig"),
|
||||
},
|
||||
.{
|
||||
.build_root = "test/link/wasm/type",
|
||||
.import = @import("link/wasm/type/build.zig"),
|
||||
},
|
||||
|
||||
// Mach-O Cases
|
||||
// cases.addBuildFile("test/link/macho/bugs/13056/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/bugs/13457/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/dead_strip/build.zig", .{
|
||||
// .build_modes = false,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/dead_strip_dylibs/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/dylib/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/empty/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/entry/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/headerpad/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/linksection/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/needed_framework/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/needed_library/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/objc/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/objcpp/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/pagezero/build.zig", .{
|
||||
// .build_modes = false,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/search_strategy/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/stack_size/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/strict_validation/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/tls/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/unwind_info/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/uuid/build.zig", .{
|
||||
// .build_modes = false,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/weak_library/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
//
|
||||
// cases.addBuildFile("test/link/macho/weak_framework/build.zig", .{
|
||||
// .build_modes = true,
|
||||
// .requires_macos_sdk = true,
|
||||
// .requires_symlinks = true,
|
||||
// });
|
||||
};
|
||||
|
||||
const std = @import("std");
|
||||
const builtin = @import("builtin");
|
||||
|
||||
@ -1,15 +1,24 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test");
|
||||
test_step.dependOn(b.getInstallStep());
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test it");
|
||||
b.default_step = test_step;
|
||||
|
||||
add(b, test_step, .Debug);
|
||||
add(b, test_step, .ReleaseFast);
|
||||
add(b, test_step, .ReleaseSmall);
|
||||
add(b, test_step, .ReleaseSafe);
|
||||
}
|
||||
|
||||
fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.OptimizeMode) void {
|
||||
// The code in question will pull-in compiler-rt,
|
||||
// and therefore link with its archive file.
|
||||
const lib = b.addSharedLibrary(.{
|
||||
.name = "main",
|
||||
.root_source_file = .{ .path = "main.zig" },
|
||||
.optimize = b.standardOptimizeOption(.{}),
|
||||
.optimize = optimize,
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding },
|
||||
});
|
||||
lib.use_llvm = false;
|
||||
|
||||
@ -1,11 +1,13 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
// Library with explicitly set cpu features
|
||||
const lib = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.root_source_file = .{ .path = "main.zig" },
|
||||
.optimize = b.standardOptimizeOption(.{}),
|
||||
.optimize = .Debug,
|
||||
.target = .{
|
||||
.cpu_arch = .wasm32,
|
||||
.cpu_model = .{ .explicit = &std.Target.wasm.cpu.mvp },
|
||||
@ -24,4 +26,5 @@ pub fn build(b: *std.Build) void {
|
||||
|
||||
const test_step = b.step("test", "Run linker test");
|
||||
test_step.dependOn(&check.step);
|
||||
b.default_step = test_step;
|
||||
}
|
||||
|
||||
@ -1,14 +1,16 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test");
|
||||
test_step.dependOn(b.getInstallStep());
|
||||
b.default_step = test_step;
|
||||
|
||||
const lib = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.root_source_file = .{ .path = "lib.zig" },
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding },
|
||||
.optimize = b.standardOptimizeOption(.{}),
|
||||
.optimize = .Debug,
|
||||
});
|
||||
lib.use_llvm = false;
|
||||
lib.use_lld = false;
|
||||
@ -36,5 +38,6 @@ pub fn build(b: *std.Build) void {
|
||||
check_lib.checkNext("name .rodata");
|
||||
check_lib.checkNext("index 1"); // bss section always last
|
||||
check_lib.checkNext("name .bss");
|
||||
|
||||
test_step.dependOn(&check_lib.step);
|
||||
}
|
||||
|
||||
@ -2,7 +2,12 @@ const std = @import("std");
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test");
|
||||
test_step.dependOn(b.getInstallStep());
|
||||
b.default_step = test_step;
|
||||
|
||||
if (@import("builtin").os.tag == .windows) {
|
||||
// TODO: Fix open handle in wasm-linker refraining rename from working on Windows.
|
||||
return;
|
||||
}
|
||||
|
||||
const lib = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
|
||||
@ -1,8 +1,18 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const optimize = b.standardOptimizeOption(.{});
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test it");
|
||||
b.default_step = test_step;
|
||||
|
||||
add(b, test_step, .Debug);
|
||||
add(b, test_step, .ReleaseFast);
|
||||
add(b, test_step, .ReleaseSmall);
|
||||
add(b, test_step, .ReleaseSafe);
|
||||
}
|
||||
|
||||
fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.OptimizeMode) void {
|
||||
const no_export = b.addSharedLibrary(.{
|
||||
.name = "no-export",
|
||||
.root_source_file = .{ .path = "main.zig" },
|
||||
@ -50,7 +60,6 @@ pub fn build(b: *std.Build) void {
|
||||
check_force_export.checkNext("name foo");
|
||||
check_force_export.checkNext("kind function");
|
||||
|
||||
const test_step = b.step("test", "Run linker test");
|
||||
test_step.dependOn(&check_no_export.step);
|
||||
test_step.dependOn(&check_dynamic_export.step);
|
||||
test_step.dependOn(&check_force_export.step);
|
||||
|
||||
@ -1,18 +1,24 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test");
|
||||
test_step.dependOn(b.getInstallStep());
|
||||
const test_step = b.step("test", "Test it");
|
||||
b.default_step = test_step;
|
||||
|
||||
add(b, test_step, .Debug);
|
||||
add(b, test_step, .ReleaseFast);
|
||||
add(b, test_step, .ReleaseSmall);
|
||||
add(b, test_step, .ReleaseSafe);
|
||||
}
|
||||
|
||||
fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.OptimizeMode) void {
|
||||
const lib = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.root_source_file = .{ .path = "lib.zig" },
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding },
|
||||
.optimize = b.standardOptimizeOption(.{}),
|
||||
.optimize = optimize,
|
||||
});
|
||||
lib.import_symbols = true; // import `a` and `b`
|
||||
lib.rdynamic = true; // export `foo`
|
||||
lib.install();
|
||||
|
||||
const check_lib = lib.checkObject(.wasm);
|
||||
check_lib.checkStart("Section import");
|
||||
|
||||
15
test/link/wasm/extern/build.zig
vendored
15
test/link/wasm/extern/build.zig
vendored
@ -1,10 +1,22 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test it");
|
||||
b.default_step = test_step;
|
||||
|
||||
add(b, test_step, .Debug);
|
||||
add(b, test_step, .ReleaseFast);
|
||||
add(b, test_step, .ReleaseSmall);
|
||||
add(b, test_step, .ReleaseSafe);
|
||||
}
|
||||
|
||||
fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.OptimizeMode) void {
|
||||
const exe = b.addExecutable(.{
|
||||
.name = "extern",
|
||||
.root_source_file = .{ .path = "main.zig" },
|
||||
.optimize = b.standardOptimizeOption(.{}),
|
||||
.optimize = optimize,
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .wasi },
|
||||
});
|
||||
exe.addCSourceFile("foo.c", &.{});
|
||||
@ -15,6 +27,5 @@ pub fn build(b: *std.Build) void {
|
||||
run.skip_foreign_checks = true;
|
||||
run.expectStdOutEqual("Result: 30");
|
||||
|
||||
const test_step = b.step("test", "Run linker test");
|
||||
test_step.dependOn(&run.step);
|
||||
}
|
||||
|
||||
@ -1,13 +1,20 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const optimize = b.standardOptimizeOption(.{});
|
||||
const test_step = b.step("test", "Test it");
|
||||
b.default_step = test_step;
|
||||
|
||||
const test_step = b.step("test", "Test");
|
||||
test_step.dependOn(b.getInstallStep());
|
||||
add(b, test_step, .Debug);
|
||||
add(b, test_step, .ReleaseFast);
|
||||
add(b, test_step, .ReleaseSmall);
|
||||
add(b, test_step, .ReleaseSafe);
|
||||
}
|
||||
|
||||
fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.OptimizeMode) void {
|
||||
const import_table = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.name = "import_table",
|
||||
.root_source_file = .{ .path = "lib.zig" },
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding },
|
||||
.optimize = optimize,
|
||||
@ -17,7 +24,7 @@ pub fn build(b: *std.Build) void {
|
||||
import_table.import_table = true;
|
||||
|
||||
const export_table = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.name = "export_table",
|
||||
.root_source_file = .{ .path = "lib.zig" },
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding },
|
||||
.optimize = optimize,
|
||||
@ -27,7 +34,7 @@ pub fn build(b: *std.Build) void {
|
||||
export_table.export_table = true;
|
||||
|
||||
const regular_table = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.name = "regular_table",
|
||||
.root_source_file = .{ .path = "lib.zig" },
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding },
|
||||
.optimize = optimize,
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const optimize = b.standardOptimizeOption(.{});
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
// Wasm Object file which we will use to infer the features from
|
||||
const c_obj = b.addObject(.{
|
||||
.name = "c_obj",
|
||||
.optimize = optimize,
|
||||
.optimize = .Debug,
|
||||
.target = .{
|
||||
.cpu_arch = .wasm32,
|
||||
.cpu_model = .{ .explicit = &std.Target.wasm.cpu.bleeding_edge },
|
||||
@ -20,7 +20,7 @@ pub fn build(b: *std.Build) void {
|
||||
const lib = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.root_source_file = .{ .path = "main.zig" },
|
||||
.optimize = optimize,
|
||||
.optimize = .Debug,
|
||||
.target = .{
|
||||
.cpu_arch = .wasm32,
|
||||
.cpu_model = .{ .explicit = &std.Target.wasm.cpu.mvp },
|
||||
@ -45,4 +45,5 @@ pub fn build(b: *std.Build) void {
|
||||
|
||||
const test_step = b.step("test", "Run linker test");
|
||||
test_step.dependOn(&check.step);
|
||||
b.default_step = test_step;
|
||||
}
|
||||
|
||||
@ -1,24 +1,31 @@
|
||||
const std = @import("std");
|
||||
const builtin = @import("builtin");
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test");
|
||||
test_step.dependOn(b.getInstallStep());
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test it");
|
||||
b.default_step = test_step;
|
||||
|
||||
add(b, test_step, .Debug);
|
||||
add(b, test_step, .ReleaseFast);
|
||||
add(b, test_step, .ReleaseSmall);
|
||||
add(b, test_step, .ReleaseSafe);
|
||||
}
|
||||
|
||||
fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.OptimizeMode) void {
|
||||
const lib = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.root_source_file = .{ .path = "lib.zig" },
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding },
|
||||
.optimize = b.standardOptimizeOption(.{}),
|
||||
.optimize = optimize,
|
||||
});
|
||||
lib.use_llvm = false;
|
||||
lib.use_lld = false;
|
||||
lib.strip = false;
|
||||
lib.install();
|
||||
|
||||
const zig_version = builtin.zig_version;
|
||||
var version_buf: [100]u8 = undefined;
|
||||
const version_fmt = std.fmt.bufPrint(&version_buf, "version {}", .{zig_version}) catch unreachable;
|
||||
const version_fmt = "version " ++ builtin.zig_version_string;
|
||||
|
||||
const check_lib = lib.checkObject(.wasm);
|
||||
check_lib.checkStart("name producers");
|
||||
|
||||
@ -1,14 +1,23 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test");
|
||||
test_step.dependOn(b.getInstallStep());
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test it");
|
||||
b.default_step = test_step;
|
||||
|
||||
add(b, test_step, .Debug);
|
||||
add(b, test_step, .ReleaseFast);
|
||||
add(b, test_step, .ReleaseSmall);
|
||||
add(b, test_step, .ReleaseSafe);
|
||||
}
|
||||
|
||||
fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.OptimizeMode) void {
|
||||
const lib = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.root_source_file = .{ .path = "lib.zig" },
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding },
|
||||
.optimize = b.standardOptimizeOption(.{}),
|
||||
.optimize = optimize,
|
||||
});
|
||||
lib.use_llvm = false;
|
||||
lib.use_lld = false;
|
||||
|
||||
@ -1,14 +1,23 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test");
|
||||
test_step.dependOn(b.getInstallStep());
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test it");
|
||||
b.default_step = test_step;
|
||||
|
||||
add(b, test_step, .Debug);
|
||||
add(b, test_step, .ReleaseFast);
|
||||
add(b, test_step, .ReleaseSmall);
|
||||
add(b, test_step, .ReleaseSafe);
|
||||
}
|
||||
|
||||
fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.OptimizeMode) void {
|
||||
const lib = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.root_source_file = .{ .path = "lib.zig" },
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding },
|
||||
.optimize = b.standardOptimizeOption(.{}),
|
||||
.optimize = optimize,
|
||||
});
|
||||
lib.use_llvm = false;
|
||||
lib.use_lld = false;
|
||||
|
||||
@ -1,14 +1,23 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test");
|
||||
test_step.dependOn(b.getInstallStep());
|
||||
pub const requires_stage2 = true;
|
||||
|
||||
pub fn build(b: *std.Build) void {
|
||||
const test_step = b.step("test", "Test it");
|
||||
b.default_step = test_step;
|
||||
|
||||
add(b, test_step, .Debug);
|
||||
add(b, test_step, .ReleaseFast);
|
||||
add(b, test_step, .ReleaseSmall);
|
||||
add(b, test_step, .ReleaseSafe);
|
||||
}
|
||||
|
||||
fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.OptimizeMode) void {
|
||||
const lib = b.addSharedLibrary(.{
|
||||
.name = "lib",
|
||||
.root_source_file = .{ .path = "lib.zig" },
|
||||
.target = .{ .cpu_arch = .wasm32, .os_tag = .freestanding },
|
||||
.optimize = b.standardOptimizeOption(.{}),
|
||||
.optimize = optimize,
|
||||
});
|
||||
lib.use_llvm = false;
|
||||
lib.use_lld = false;
|
||||
|
||||
@ -599,18 +599,21 @@ pub fn addLinkTests(
|
||||
_ = test_filter;
|
||||
_ = optimize_modes;
|
||||
_ = enable_macos_sdk;
|
||||
_ = omit_stage2;
|
||||
_ = enable_symlinks_windows;
|
||||
|
||||
const step = b.step("test-link", "Run the linker tests");
|
||||
|
||||
inline for (link.cases) |link_test| {
|
||||
const dep = b.anonymousDependency(link_test.build_root, link_test.import, .{});
|
||||
const dep_step = dep.builder.default_step;
|
||||
assert(mem.startsWith(u8, dep.builder.dep_prefix, "test."));
|
||||
const dep_prefix_adjusted = dep.builder.dep_prefix["test.".len..];
|
||||
dep_step.name = b.fmt("{s}{s}", .{ dep_prefix_adjusted, dep_step.name });
|
||||
step.dependOn(dep_step);
|
||||
const requires_stage2 = @hasDecl(link_test.import, "requires_stage2") and
|
||||
link_test.import.requires_stage2;
|
||||
if (!requires_stage2 or !omit_stage2) {
|
||||
const dep = b.anonymousDependency(link_test.build_root, link_test.import, .{});
|
||||
const dep_step = dep.builder.default_step;
|
||||
assert(mem.startsWith(u8, dep.builder.dep_prefix, "test."));
|
||||
const dep_prefix_adjusted = dep.builder.dep_prefix["test.".len..];
|
||||
dep_step.name = b.fmt("{s}{s}", .{ dep_prefix_adjusted, dep_step.name });
|
||||
step.dependOn(dep_step);
|
||||
}
|
||||
}
|
||||
|
||||
return step;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user