commit f89982bf53d04d4f8e65a449c261eff2a8539169 (tree)
parent ed68083d8f286f7df7b33865b96e4decbda7b864
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Wed, 30 Oct 2024 09:44:02 +0100
std.Target: Add semver min/max versions for a bunch of OSs.
Diffstat:
| M | lib/std/Target.zig | | | 139 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------ |
1 file changed, 107 insertions(+), 32 deletions(-)
diff --git a/lib/std/Target.zig b/lib/std/Target.zig
@@ -162,42 +162,35 @@ pub const Os = struct {
.freestanding,
.other,
- .contiki,
.elfiamcu,
- .fuchsia,
- .hermit,
- .aix,
.haiku,
- .hurd,
.plan9,
- .rtems,
.serenity,
- .zos,
// This should use semver once we determine the version history.
.bridgeos,
.illumos,
- .uefi,
-
.ps3,
.ps4,
.ps5,
.emscripten,
- .amdhsa,
- .amdpal,
- .cuda,
.mesa3d,
- .nvcl,
- .opencl, // TODO: OpenCL versions
- .opengl, // TODO: GLSL versions
- .vulkan,
=> .none,
+ .contiki,
+ .fuchsia,
+ .hermit,
+
+ .aix,
+ .hurd,
+ .rtems,
+ .zos,
+
.dragonfly,
.freebsd,
.netbsd,
@@ -212,7 +205,17 @@ pub const Os = struct {
.solaris,
+ .uefi,
+
.wasi,
+
+ .amdhsa,
+ .amdpal,
+ .cuda,
+ .nvcl,
+ .opencl,
+ .opengl,
+ .vulkan,
=> .semver,
.linux => .linux,
@@ -405,42 +408,57 @@ pub const Os = struct {
.freestanding,
.other,
- .contiki,
.elfiamcu,
- .fuchsia,
- .hermit,
- .aix,
.haiku,
- .hurd,
.plan9,
- .rtems,
.serenity,
- .zos,
// This should use semver once we determine the version history.
.bridgeos,
.illumos,
- .uefi,
-
.ps3,
.ps4,
.ps5,
.emscripten,
- .amdhsa,
- .amdpal,
- .cuda,
.mesa3d,
- .nvcl,
- .opencl, // TODO: OpenCL versions
- .opengl, // TODO: GLSL versions
- .vulkan,
=> .{ .none = {} },
+ .contiki => .{
+ .semver = .{
+ .min = .{ .major = 4, .minor = 0, .patch = 0 },
+ .max = .{ .major = 4, .minor = 9, .patch = 0 },
+ },
+ },
+ .fuchsia => .{
+ .semver = .{
+ .min = .{ .major = 1, .minor = 1, .patch = 0 },
+ .max = .{ .major = 20, .minor = 1, .patch = 0 },
+ },
+ },
+ .hermit => .{
+ .semver = .{
+ .min = .{ .major = 0, .minor = 4, .patch = 0 },
+ .max = .{ .major = 0, .minor = 8, .patch = 0 },
+ },
+ },
+
+ .aix => .{
+ .semver = .{
+ .min = .{ .major = 7, .minor = 2, .patch = 5 },
+ .max = .{ .major = 7, .minor = 3, .patch = 2 },
+ },
+ },
+ .hurd => .{
+ .semver = .{
+ .min = .{ .major = 0, .minor = 9, .patch = 0 },
+ .max = .{ .major = 0, .minor = 9, .patch = 0 },
+ },
+ },
.linux => .{
.linux = .{
.range = .{
@@ -464,6 +482,18 @@ pub const Os = struct {
},
},
},
+ .rtems => .{
+ .semver = .{
+ .min = .{ .major = 5, .minor = 1, .patch = 0 },
+ .max = .{ .major = 5, .minor = 3, .patch = 0 },
+ },
+ },
+ .zos => .{
+ .semver = .{
+ .min = .{ .major = 2, .minor = 5, .patch = 0 },
+ .max = .{ .major = 3, .minor = 1, .patch = 0 },
+ },
+ },
.dragonfly => .{
.semver = .{
@@ -540,6 +570,12 @@ pub const Os = struct {
.max = WindowsVersion.latest,
},
},
+ .uefi => .{
+ .semver = .{
+ .min = .{ .major = 2, .minor = 0, .patch = 0 },
+ .max = .{ .major = 2, .minor = 9, .patch = 0 },
+ },
+ },
.wasi => .{
.semver = .{
@@ -547,6 +583,45 @@ pub const Os = struct {
.max = .{ .major = 0, .minor = 2, .patch = 2 },
},
},
+
+ .amdhsa => .{
+ .semver = .{
+ .min = .{ .major = 5, .minor = 0, .patch = 2 },
+ .max = .{ .major = 6, .minor = 2, .patch = 2 },
+ },
+ },
+ .amdpal => .{
+ .semver = .{
+ .min = .{ .major = 1, .minor = 1, .patch = 0 },
+ .max = .{ .major = 3, .minor = 5, .patch = 0 },
+ },
+ },
+ .cuda => .{
+ .semver = .{
+ .min = .{ .major = 11, .minor = 0, .patch = 1 },
+ .max = .{ .major = 12, .minor = 6, .patch = 1 },
+ },
+ },
+ .nvcl,
+ .opencl,
+ => .{
+ .semver = .{
+ .min = .{ .major = 2, .minor = 2, .patch = 0 },
+ .max = .{ .major = 3, .minor = 0, .patch = 0 },
+ },
+ },
+ .opengl => .{
+ .semver = .{
+ .min = .{ .major = 4, .minor = 5, .patch = 0 },
+ .max = .{ .major = 4, .minor = 6, .patch = 0 },
+ },
+ },
+ .vulkan => .{
+ .semver = .{
+ .min = .{ .major = 1, .minor = 2, .patch = 0 },
+ .max = .{ .major = 1, .minor = 3, .patch = 0 },
+ },
+ },
};
}
};