From 07a13d9c7397c3341f430e1127e7287fe53ba8b9 Mon Sep 17 00:00:00 2001 From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Date: Wed, 22 Feb 2023 13:51:08 +0800 Subject: [PATCH] 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`: https://github.com/ziglang/zig/blob/b52be973dfb7d1408218b8e75800a2da3dc69108/build.zig#L551-L554 --- build.zig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build.zig b/build.zig index 45bd314..763e4fe 100644 --- a/build.zig +++ b/build.zig @@ -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");