aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Build/Step/Compile.zig
diff options
context:
space:
mode:
authorEric Joldasov <bratishkaerik@landless-city.net>2024-05-08 23:21:34 +0500
committerAndrew Kelley <andrew@ziglang.org>2024-07-21 02:32:33 -0700
commitd263f1ec0eb988f0e4ed1859351f5040f590996b (patch)
tree4e08c9468589455827c721c1bfcf8620135475c7 /lib/std/Build/Step/Compile.zig
parentc746d7a35d6ba26d783863ef8fa86123891e1d38 (diff)
downloadzig-d263f1ec0eb988f0e4ed1859351f5040f590996b.tar.gz
zig-d263f1ec0eb988f0e4ed1859351f5040f590996b.zip
zig build: respect `PKG_CONFIG` environment variable
`PKG_CONFIG` environment variable is used to override path to pkg-config executable, for example when it's name is prepended by target triple for cross-compilation purposes: ``` PKG_CONFIG=/usr/bin/aarch64-unknown-linux-gnu-pkgconf zig build ``` Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
Diffstat (limited to 'lib/std/Build/Step/Compile.zig')
-rw-r--r--lib/std/Build/Step/Compile.zig6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig
index 724656ce29..8e9f61cfff 100644
--- a/lib/std/Build/Step/Compile.zig
+++ b/lib/std/Build/Step/Compile.zig
@@ -707,8 +707,9 @@ fn runPkgConfig(compile: *Compile, lib_name: []const u8) !PkgConfigResult {
};
var code: u8 = undefined;
+ const pkg_config_exe = b.graph.env_map.get("PKG_CONFIG") orelse "pkg-config";
const stdout = if (b.runAllowFail(&[_][]const u8{
- "pkg-config",
+ pkg_config_exe,
pkg_name,
"--cflags",
"--libs",
@@ -1852,7 +1853,8 @@ pub fn doAtomicSymLinks(
}
fn execPkgConfigList(compile: *std.Build, out_code: *u8) (PkgConfigError || RunError)![]const PkgConfigPkg {
- const stdout = try compile.runAllowFail(&[_][]const u8{ "pkg-config", "--list-all" }, out_code, .Ignore);
+ const pkg_config_exe = compile.graph.env_map.get("PKG_CONFIG") orelse "pkg-config";
+ const stdout = try compile.runAllowFail(&[_][]const u8{ pkg_config_exe, "--list-all" }, out_code, .Ignore);
var list = ArrayList(PkgConfigPkg).init(compile.allocator);
errdefer list.deinit();
var line_it = mem.tokenizeAny(u8, stdout, "\r\n");