link: read the Darwin SDK version from Version

Simulator SDKs set `MinimalDisplayName` to "Simulator - 27.0", so linking with
one as the libc failed with "failed to parse Darwin SDK version". Every SDK
has a plain `Version`, which is also what clang reads.
This commit is contained in:
David authored and Alex Rønne Petersen committed 2026-10-23 02:15:09 +02:00
1 parent 3a7eee7d0b
commit 2de7cf9425
2 files changed
+4 -4

No files matched your search

+1 -1
View File
@@ -1 +1 @@
{"MinimalDisplayName":"27.0"}
{"Version":"27.0"}
+3 -3
View File
@@ -1297,16 +1297,16 @@ pub const File = struct {
else => return diags.failParse(sdk_settings_path, "failed to parse Darwin SDK settings: file is not a JSON object", .{}),
};
const version_json = parsed_object.get("MinimalDisplayName") orelse return diags.failParse(
const version_json = parsed_object.get("Version") orelse return diags.failParse(
sdk_settings_path,
"failed to parse Darwin SDK settings: 'MinimalDisplayName' missing",
"failed to parse Darwin SDK settings: 'Version' missing",
.{},
);
const version_str: []const u8 = switch (version_json) {
.string => |str| str,
else => return diags.failParse(
sdk_settings_path,
"failed to parse Darwin SDK settings: 'MinimalDisplayName' not a string",
"failed to parse Darwin SDK settings: 'Version' not a string",
.{},
),
};