Commit f89982bf53

Alex Rønne Petersen <alex@alexrp.com>
2024-10-30 09:44:02
std.Target: Add semver min/max versions for a bunch of OSs.
1 parent ed68083
Changed files (1)
lib
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 },
+                    },
+                },
             };
         }
     };