diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2024-11-23 17:57:39 +0100 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2024-11-24 22:11:16 +0100 |
| commit | 24ecf45569f10743c5df6a39e6e71dcee265786a (patch) | |
| tree | a2ed9bb83aa902511e10acc66d6d141b6d895e46 /lib/std/Target/Query.zig | |
| parent | 6d781e0955e7dd2b6cc17a5bb43c790e19a07ac0 (diff) | |
| download | zig-24ecf45569f10743c5df6a39e6e71dcee265786a.tar.gz zig-24ecf45569f10743c5df6a39e6e71dcee265786a.zip | |
std.Target: Add Os.HurdVersionRange for Os.Tag.hurd.
This is necessary since isGnuLibC() is true for hurd, so we need to be able to
represent a glibc version for it.
Also add an Os.TaggedVersionRange.gnuLibCVersion() convenience function.
Diffstat (limited to 'lib/std/Target/Query.zig')
| -rw-r--r-- | lib/std/Target/Query.zig | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/std/Target/Query.zig b/lib/std/Target/Query.zig index f3e280ee32..144b2d60af 100644 --- a/lib/std/Target/Query.zig +++ b/lib/std/Target/Query.zig @@ -102,7 +102,7 @@ pub fn fromTarget(target: Target) Query { .os_version_min = undefined, .os_version_max = undefined, .abi = target.abi, - .glibc_version = if (target.isGnuLibC()) target.os.version_range.linux.glibc else null, + .glibc_version = target.os.versionRange().gnuLibCVersion(), .android_api_level = if (target.abi.isAndroid()) target.os.version_range.linux.android else null, }; result.updateOsVersionRange(target.os); @@ -132,9 +132,9 @@ fn updateOsVersionRange(self: *Query, os: Target.Os) void { .{ .semver = os.version_range.semver.min }, .{ .semver = os.version_range.semver.max }, }, - .linux => .{ - .{ .semver = os.version_range.linux.range.min }, - .{ .semver = os.version_range.linux.range.max }, + inline .hurd, .linux => |t| .{ + .{ .semver = @field(os.version_range, @tagName(t)).range.min }, + .{ .semver = @field(os.version_range, @tagName(t)).range.max }, }, .windows => .{ .{ .windows = os.version_range.windows.min }, @@ -544,7 +544,7 @@ fn parseOs(result: *Query, diags: *ParseOptions.Diagnostics, text: []const u8) ! const version_text = it.rest(); if (version_text.len > 0) switch (tag.versionRangeTag()) { .none => return error.InvalidOperatingSystemVersion, - .semver, .linux => range: { + .semver, .hurd, .linux => range: { var range_it = mem.splitSequence(u8, version_text, "..."); result.os_version_min = .{ .semver = parseVersion(range_it.first()) catch |err| switch (err) { |
