diff options
| author | Eric Joldasov <bratishkaerik@landless-city.net> | 2024-05-08 23:21:34 +0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-07-21 02:32:33 -0700 |
| commit | d263f1ec0eb988f0e4ed1859351f5040f590996b (patch) | |
| tree | 4e08c9468589455827c721c1bfcf8620135475c7 /lib/std/Build/Step/Compile.zig | |
| parent | c746d7a35d6ba26d783863ef8fa86123891e1d38 (diff) | |
| download | zig-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.zig | 6 |
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"); |
