From 36137a00e28a5fe58e52efff73049a6982f7a1ad Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Thu, 14 Dec 2023 12:35:21 +0100 Subject: [PATCH] [build,mac] fix rpath of libs and binaries --- scripts/bundle-mac-os.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/scripts/bundle-mac-os.sh b/scripts/bundle-mac-os.sh index 98a1cd93a..67a346a3c 100755 --- a/scripts/bundle-mac-os.sh +++ b/scripts/bundle-mac-os.sh @@ -84,6 +84,15 @@ fix_rpath() { done } +replace_rpath() { + FILE=$1 + for PTH in $(otool -l $FILE | grep -A2 LC_RPATH | grep path | xargs -J ' ' | cut -d ' ' -f2); + do + install_name_tool -delete_rpath $PTH $FILE + done + install_name_tool -add_rpath @loader_path/../$LIBDIR $FILE +} + CMAKE_ARCHS= OSSL_FLAGS="-mmacosx-version-min=$DEPLOYMENT_TARGET" for ARCH in $DEPLOYMENT_ARCH; @@ -250,6 +259,17 @@ cd $INSTALL mv lib $LIBDIR mv bin $BINDIR +# update RPATH +for LIB in $(find $LIBDIR -type f -name "*.dylib"); +do + replace_rpath $LIB +done + +for BIN in $(find $BINDIR -type f); +do + replace_rpath $BIN +done + # clean up unused data rm -rf "$INSTALL/include" rm -rf "$INSTALL/share"