Set headerpad_max_install_names on Darwin

This is useful for building binary distributions because it allows
references to library dependendencies on the build machine to be
rewritten appropriately upon installation on the user's machine.

Zig also does this in their `build.zig`:

    b52be973df/build.zig (L551-L554)
This commit is contained in:
Carlo Cabrera 2023-02-22 13:51:08 +08:00
parent 54d50e0443
commit 07a13d9c73
No known key found for this signature in database
GPG key ID: C74D447FC549A1D0

View file

@ -10,6 +10,11 @@ pub fn build(b: *std.build.Builder) void {
const exe = b.addExecutable("ncdu", "src/main.zig");
exe.setTarget(target);
exe.setBuildMode(mode);
// https://github.com/ziglang/zig/blob/b52be973dfb7d1408218b8e75800a2da3dc69108/build.zig#L551-L554
if (exe.target.isDarwin()) {
// useful for package maintainers
exe.headerpad_max_install_names = true;
}
exe.addCSourceFile("src/ncurses_refs.c", &[_][]const u8{});
exe.linkLibC();
exe.linkSystemLibrary("ncursesw");