From 4270f234db02d40da1507fe5cb20029aa320ee42 Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Thu, 25 Nov 2021 12:08:16 +0100 Subject: [PATCH] Skip detecting native libc dirs on darwin This is handled before by detecting and adding SDK path which is a centralised point for the native libc installation on darwin. --- src/Compilation.zig | 7 +++++++ src/libc_installation.zig | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Compilation.zig b/src/Compilation.zig index 20d67e7c77..9da855789f 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -3792,6 +3792,13 @@ fn detectLibCIncludeDirs( // If linking system libraries and targeting the native abi, default to // using the system libc installation. if (link_system_libs and is_native_abi and !target.isMinGW()) { + if (target.isDarwin()) { + // For Darwin/macOS, we are all set with getSDKPath found earlier. + return LibCDirs{ + .libc_include_dir_list = &[0][]u8{}, + .libc_installation = null, + }; + } const libc = try arena.create(LibCInstallation); libc.* = try LibCInstallation.findNative(.{ .allocator = arena, .verbose = true }); return detectLibCFromLibCInstallation(arena, target, libc); diff --git a/src/libc_installation.zig b/src/libc_installation.zig index 3567f2e22f..615f9436e6 100644 --- a/src/libc_installation.zig +++ b/src/libc_installation.zig @@ -185,7 +185,9 @@ pub const LibCInstallation = struct { pub fn findNative(args: FindNativeOptions) FindError!LibCInstallation { var self: LibCInstallation = .{}; - if (is_windows) { + if (is_darwin) { + @panic("Darwin is handled separately via std.zig.system.darwin module"); + } else if (is_windows) { if (!build_options.have_llvm) return error.WindowsSdkNotFound; var sdk: *ZigWindowsSDK = undefined;