mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
https://github.com/ziglang/zig/issues/25471 This is not the only test that aborts like this, nor does it happen only on FreeBSD, but it happens to be disproportionally disruptive on FreeBSD in particular.
55 lines
1.5 KiB
Zig
55 lines
1.5 KiB
Zig
const std = @import("std");
|
|
|
|
/// This tests the path where DWARF information is embedded in a COFF binary
|
|
pub fn build(b: *std.Build) void {
|
|
const host = b.graph.host;
|
|
|
|
// https://github.com/ziglang/zig/issues/25471
|
|
if (host.result.os.tag == .freebsd) return;
|
|
|
|
switch (host.result.cpu.arch) {
|
|
.aarch64,
|
|
.x86,
|
|
.x86_64,
|
|
=> {},
|
|
else => return,
|
|
}
|
|
|
|
const test_step = b.step("test", "Test it");
|
|
b.default_step = test_step;
|
|
|
|
const optimize: std.builtin.OptimizeMode = .Debug;
|
|
const target = switch (host.result.os.tag) {
|
|
.windows => host,
|
|
else => b.resolveTargetQuery(.{ .os_tag = .windows }),
|
|
};
|
|
|
|
const exe = b.addExecutable(.{
|
|
.name = "main",
|
|
.root_module = b.createModule(.{
|
|
.root_source_file = b.path("main.zig"),
|
|
.optimize = optimize,
|
|
.target = target,
|
|
}),
|
|
});
|
|
|
|
const lib = b.addLibrary(.{
|
|
.linkage = .dynamic,
|
|
.name = "shared_lib",
|
|
.root_module = b.createModule(.{
|
|
.root_source_file = null,
|
|
.optimize = optimize,
|
|
.target = target,
|
|
.link_libc = true,
|
|
}),
|
|
});
|
|
lib.root_module.addCSourceFile(.{ .file = b.path("shared_lib.c"), .flags = &.{"-gdwarf"} });
|
|
exe.root_module.linkLibrary(lib);
|
|
|
|
const run = b.addRunArtifact(exe);
|
|
run.expectExitCode(0);
|
|
run.skip_foreign_checks = true;
|
|
|
|
test_step.dependOn(&run.step);
|
|
}
|