mirror of
https://github.com/ziglang/zig.git
synced 2026-02-20 16:24:51 +00:00
feat(std.Target): add 3ds os
This commit is contained in:
parent
55daefdb10
commit
cc71936eb9
@ -50,6 +50,8 @@ pub const Os = struct {
|
||||
windows,
|
||||
uefi,
|
||||
|
||||
@"3ds",
|
||||
|
||||
ps3,
|
||||
ps4,
|
||||
ps5,
|
||||
@ -194,6 +196,8 @@ pub const Os = struct {
|
||||
|
||||
.uefi,
|
||||
|
||||
.@"3ds",
|
||||
|
||||
.wasi,
|
||||
|
||||
.amdhsa,
|
||||
@ -603,7 +607,12 @@ pub const Os = struct {
|
||||
.max = .{ .major = 2, .minor = 11, .patch = 0 },
|
||||
},
|
||||
},
|
||||
|
||||
.@"3ds" => .{
|
||||
.semver = .{
|
||||
.min = .{ .major = 2, .minor = 27, .patch = 0 }, // 1.0.0-0
|
||||
.max = .{ .major = 2, .minor = 58, .patch = 0 }, // 11.17.0-50
|
||||
},
|
||||
},
|
||||
.wasi => .{
|
||||
.semver = .{
|
||||
.min = .{ .major = 0, .minor = 1, .patch = 0 },
|
||||
@ -861,6 +870,7 @@ pub const Abi = enum {
|
||||
.tvos, .visionos, .watchos => if (arch == .x86_64) .simulator else .none,
|
||||
.windows => .gnu,
|
||||
.uefi => .msvc,
|
||||
.@"3ds" => .eabihf,
|
||||
.wasi, .emscripten => .musl,
|
||||
|
||||
.contiki,
|
||||
@ -1828,7 +1838,10 @@ pub const Cpu = struct {
|
||||
pub fn baseline(arch: Arch, os: Os) *const Model {
|
||||
return switch (arch) {
|
||||
.amdgcn => &amdgcn.cpu.gfx906,
|
||||
.arm, .armeb, .thumb, .thumbeb => &arm.cpu.baseline,
|
||||
.arm, .armeb, .thumb, .thumbeb => switch (os.tag) {
|
||||
.@"3ds" => &arm.cpu.mpcore,
|
||||
else => &arm.cpu.baseline,
|
||||
},
|
||||
.aarch64 => switch (os.tag) {
|
||||
.driverkit, .macos => &aarch64.cpu.apple_m1,
|
||||
.ios, .tvos => &aarch64.cpu.apple_a7,
|
||||
@ -2055,6 +2068,7 @@ pub fn requiresLibC(target: *const Target) bool {
|
||||
.vulkan,
|
||||
.plan9,
|
||||
.other,
|
||||
.@"3ds",
|
||||
=> false,
|
||||
};
|
||||
}
|
||||
@ -2153,6 +2167,8 @@ pub const DynamicLinker = struct {
|
||||
.uefi,
|
||||
.windows,
|
||||
|
||||
.@"3ds",
|
||||
|
||||
.emscripten,
|
||||
.wasi,
|
||||
|
||||
@ -2537,6 +2553,8 @@ pub const DynamicLinker = struct {
|
||||
.uefi,
|
||||
.windows,
|
||||
|
||||
.@"3ds",
|
||||
|
||||
.emscripten,
|
||||
.wasi,
|
||||
|
||||
@ -3044,6 +3062,13 @@ pub fn cTypeBitSize(target: *const Target, c_type: CType) u16 {
|
||||
.longdouble => return 128,
|
||||
},
|
||||
|
||||
.@"3ds" => switch (c_type) {
|
||||
.char => return 8,
|
||||
.short, .ushort => return 16,
|
||||
.int, .uint, .float, .long, .ulong => return 32,
|
||||
.longlong, .ulonglong, .double, .longdouble => return 64,
|
||||
},
|
||||
|
||||
.ps4, .ps5 => switch (c_type) {
|
||||
.char => return 8,
|
||||
.short, .ushort => return 16,
|
||||
|
||||
@ -6924,6 +6924,11 @@ pub fn addCCArgs(
|
||||
},
|
||||
}
|
||||
|
||||
switch (target.os.tag) {
|
||||
.@"3ds" => try argv.append("-D__3DS__"),
|
||||
else => {},
|
||||
}
|
||||
|
||||
if (comp.config.link_libc) {
|
||||
if (target.isGnuLibC()) {
|
||||
const target_version = target.os.versionRange().gnuLibCVersion().?;
|
||||
|
||||
@ -228,6 +228,7 @@ pub fn targetTriple(allocator: Allocator, target: *const std.Target) ![]const u8
|
||||
.serenity => "serenity",
|
||||
.vulkan => "vulkan",
|
||||
|
||||
.@"3ds",
|
||||
.opengl,
|
||||
.plan9,
|
||||
.contiki,
|
||||
|
||||
@ -48,6 +48,7 @@ const targets = [_]std.Target.Query{
|
||||
.{ .cpu_arch = .arc, .os_tag = .linux, .abi = .gnu },
|
||||
.{ .cpu_arch = .arc, .os_tag = .linux, .abi = .none },
|
||||
|
||||
.{ .cpu_arch = .arm, .os_tag = .@"3ds", .abi = .eabihf },
|
||||
.{ .cpu_arch = .arm, .os_tag = .freebsd, .abi = .eabihf },
|
||||
.{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabi },
|
||||
.{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabihf },
|
||||
@ -250,6 +251,7 @@ const targets = [_]std.Target.Query{
|
||||
.{ .cpu_arch = .sparc64, .os_tag = .rtems, .abi = .none },
|
||||
.{ .cpu_arch = .sparc64, .os_tag = .solaris, .abi = .none },
|
||||
|
||||
.{ .cpu_arch = .thumb, .os_tag = .@"3ds", .abi = .eabihf },
|
||||
.{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabi },
|
||||
.{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabihf },
|
||||
.{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabi },
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user