From 2de7cf9425737a1ce98fda505b5a0166eaad137c Mon Sep 17 00:00:00 2001 From: David Date: Wed, 21 Oct 2026 18:57:44 +0500 Subject: [PATCH] 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. --- lib/libc/darwin/SDKSettings.json | 2 +- src/link.zig | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libc/darwin/SDKSettings.json b/lib/libc/darwin/SDKSettings.json index 5740f2dc2b5c5ca14d8745d43c9868b80a023c4e..9a4766c7538e731a553f2c7cfbaf5238efe29861 100644 --- a/lib/libc/darwin/SDKSettings.json +++ b/lib/libc/darwin/SDKSettings.json @@ -1 +1 @@ -{"MinimalDisplayName":"27.0"} +{"Version":"27.0"} diff --git a/src/link.zig b/src/link.zig index 843cb395fa06130840298a7986d1ebf2653478e5..bbce6ef6fbb90751690f286528509b8a6e90d45b 100644 --- a/src/link.zig +++ b/src/link.zig @@ -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", .{}, ), }; -- 2.54.0