Skip to content

Commit 3d4fb69

Browse files
committed
fix(plv8): add headerpad_max_install_names for macOS builds
Add -headerpad_max_install_names linker flag to prevent 'install_name_tool: changing install names or rpaths can't be redone' errors on macOS. This allocates sufficient header space for install_name_tool to modify the shared library during post-install processing.
1 parent c935ced commit 3d4fb69

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

nix/ext/plv8.nix

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: {
5757
++ lib.optionals stdenv.isDarwin [
5858
"CC=${clang}/bin/clang"
5959
"CXX=${clang}/bin/clang++"
60-
"SHLIB_LINK=-L${v8}/lib -lv8_monolith -Wl,-rpath,${v8}/lib"
60+
"SHLIB_LINK=-L${v8}/lib -lv8_monolith -Wl,-rpath,${v8}/lib -Wl,-headerpad_max_install_names"
6161
]
6262
++ lib.optionals (!stdenv.isDarwin) [ "SHLIB_LINK=-lv8" ];
6363

@@ -76,6 +76,7 @@ stdenv.mkDerivation (finalAttrs: {
7676
"-undefined"
7777
"dynamic_lookup"
7878
"-flat_namespace"
79+
"-headerpad_max_install_names"
7980
]
8081
);
8182

nix/ext/plv8/default.nix

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ let
8989
++ lib.optionals stdenv.isDarwin [
9090
"CC=${clang}/bin/clang"
9191
"CXX=${clang}/bin/clang++"
92-
"SHLIB_LINK=-L${v8}/lib -lv8_monolith -Wl,-rpath,${v8}/lib"
92+
"SHLIB_LINK=-L${v8}/lib -lv8_monolith -Wl,-rpath,${v8}/lib -Wl,-headerpad_max_install_names"
9393
]
9494
++ lib.optionals (!stdenv.isDarwin) [ "SHLIB_LINK=-lv8" ];
9595

@@ -107,6 +107,7 @@ let
107107
"-undefined"
108108
"dynamic_lookup"
109109
"-flat_namespace"
110+
"-headerpad_max_install_names"
110111
];
111112

112113
# No configure script.

0 commit comments

Comments
 (0)