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; }