summaryrefslogtreecommitdiffhomepage
path: root/macosx/install-fail-tool
diff options
context:
space:
mode:
Diffstat (limited to 'macosx/install-fail-tool')
-rw-r--r--macosx/install-fail-tool25
1 files changed, 25 insertions, 0 deletions
diff --git a/macosx/install-fail-tool b/macosx/install-fail-tool
new file mode 100644
index 00000000..a5464c18
--- /dev/null
+++ b/macosx/install-fail-tool
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+test -n "$1" || exit 1
+
+dir="$1"
+
+for i in "$dir"/* "$dir"/*/* "$dir"/*/*/*; do
+ { test -x "$i" && test -f "$i"; } || continue
+ case "$i" in
+ *.dll|*.exe) continue ;;
+ *) : ;;
+ esac
+ case "$i" in
+ *.dylib|*.bin) strip -x "$i" ;; esac
+ echo ---- $i ----
+ install_name_tool -id "@executable_path/$(echo "$i" | sed -e "s,^$dir/,,")" "$i"
+
+ otool -L "$i" | awk '{ print $1 }' |
+ while read l; do
+ j="$(basename -- "$l")"
+ if test -e "$dir/$j"; then
+ install_name_tool -change "$l" "@executable_path/$j" "$i"
+ fi
+ done
+done