mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-05-30 12:56:37 +03:00
84a100b3e0
Not that any of our vendored libcs support xtensa anyway.
53 lines
1.7 KiB
Zig
53 lines
1.7 KiB
Zig
const builtin = @import("builtin");
|
|
const std = @import("std.zig");
|
|
const native_os = builtin.os.tag;
|
|
|
|
pub const linux = @import("os/linux.zig");
|
|
pub const plan9 = @import("os/plan9.zig");
|
|
pub const uefi = @import("os/uefi.zig");
|
|
pub const wasi = @import("os/wasi.zig");
|
|
pub const emscripten = @import("os/emscripten.zig");
|
|
pub const windows = @import("os/windows.zig");
|
|
|
|
/// Returns whether the Zig standard library requires libc in order to interface
|
|
/// with the operating system on the given target.
|
|
pub fn targetRequiresLibC(target: *const std.Target) bool {
|
|
if (target.requiresLibC()) return true;
|
|
return switch (target.os.tag) {
|
|
.linux => switch (target.cpu.arch) {
|
|
// https://codeberg.org/ziglang/zig/issues/30942
|
|
.csky,
|
|
// https://codeberg.org/ziglang/zig/issues/30943
|
|
.hppa,
|
|
.hppa64,
|
|
// https://codeberg.org/ziglang/zig/issues/30944
|
|
.microblaze,
|
|
.microblazeel,
|
|
// https://codeberg.org/ziglang/zig/issues/30946
|
|
.sh,
|
|
.sheb,
|
|
// https://codeberg.org/ziglang/zig/issues/30945
|
|
.sparc,
|
|
=> true,
|
|
else => false,
|
|
},
|
|
.freebsd => true, // https://codeberg.org/ziglang/zig/issues/30981
|
|
.netbsd => true, // https://codeberg.org/ziglang/zig/issues/30980
|
|
.openbsd => true, // https://codeberg.org/ziglang/zig/issues/30982
|
|
else => false,
|
|
};
|
|
}
|
|
|
|
/// Returns whether the Zig standard library requires libc in order to interface
|
|
/// with the operating system on the current target.
|
|
pub fn requiresLibC() bool {
|
|
return targetRequiresLibC(&builtin.target);
|
|
}
|
|
|
|
test {
|
|
_ = linux;
|
|
if (native_os == .uefi) _ = uefi;
|
|
_ = wasi;
|
|
_ = windows;
|
|
}
|