From 33ffbb32c9cfea28373b199003f94fa80353ee44 Mon Sep 17 00:00:00 2001 From: Wyatt Radkiewicz <35124673+wyatt-radkiewicz@users.noreply.github.com> Date: Sat, 22 Feb 2025 15:22:54 -0700 Subject: [PATCH] std.zig.system.NativePaths: Add Homebrew paths (#22738) --- lib/std/zig/system/NativePaths.zig | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/std/zig/system/NativePaths.zig b/lib/std/zig/system/NativePaths.zig index d7bc9dfad7..33b3782f9d 100644 --- a/lib/std/zig/system/NativePaths.zig +++ b/lib/std/zig/system/NativePaths.zig @@ -81,7 +81,6 @@ pub fn detect(arena: Allocator, native_target: std.Target) !NativePaths { return self; } - // TODO: consider also adding homebrew paths // TODO: consider also adding macports paths if (builtin.target.os.tag.isDarwin()) { if (std.zig.system.darwin.isSdkInstalled(arena)) sdk: { @@ -89,8 +88,14 @@ pub fn detect(arena: Allocator, native_target: std.Target) !NativePaths { try self.addLibDir(try std.fs.path.join(arena, &.{ sdk, "usr/lib" })); try self.addFrameworkDir(try std.fs.path.join(arena, &.{ sdk, "System/Library/Frameworks" })); try self.addIncludeDir(try std.fs.path.join(arena, &.{ sdk, "usr/include" })); - return self; } + + // Check for homebrew paths + if (std.posix.getenv("HOMEBREW_PREFIX")) |prefix| { + try self.addLibDir(try std.fs.path.join(arena, &.{ prefix, "/lib" })); + try self.addIncludeDir(try std.fs.path.join(arena, &.{ prefix, "/include" })); + } + return self; }