mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
Enables parsing for '-Wl,-rpath,' in pkg-config output, allows better support for NixOS linking.
This commit is contained in:
parent
5bb9963bbb
commit
0ed905b9c6
@ -693,6 +693,8 @@ const PkgConfigResult = struct {
|
||||
/// Run pkg-config for the given library name and parse the output, returning the arguments
|
||||
/// that should be passed to zig to link the given library.
|
||||
fn runPkgConfig(compile: *Compile, lib_name: []const u8) !PkgConfigResult {
|
||||
const wl_rpath_prefix = "-Wl,-rpath,";
|
||||
|
||||
const b = compile.step.owner;
|
||||
const pkg_name = match: {
|
||||
// First we have to map the library name to pkg config name. Unfortunately,
|
||||
@ -783,6 +785,8 @@ fn runPkgConfig(compile: *Compile, lib_name: []const u8) !PkgConfigResult {
|
||||
try zig_cflags.appendSlice(&[_][]const u8{ "-D", macro });
|
||||
} else if (mem.startsWith(u8, arg, "-D")) {
|
||||
try zig_cflags.append(arg);
|
||||
} else if (mem.startsWith(u8, arg, wl_rpath_prefix)) {
|
||||
try zig_cflags.appendSlice(&[_][]const u8{ "-rpath", arg[wl_rpath_prefix.len..] });
|
||||
} else if (b.debug_pkg_config) {
|
||||
return compile.step.fail("unknown pkg-config flag '{s}'", .{arg});
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user