diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-07-13 00:54:17 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-07-13 07:54:46 +0000 |
commit | 3a7890193554c954728f8898bb6083e3f29d85eb (patch) | |
tree | 2968dd762a9a3d1337833c3143f12be39f06a217 /packaging/macosx | |
parent | eeccdf3fe4065cf26fc925a1186dd99e49128184 (diff) |
Rpathify references to Qt frameworks separately from references to libraries.
We need to preserve the full path of the framework binary.
Change-Id: I3a13eaffc07028a26fbd970db02cc1cce3fdcd5d
Reviewed-on: https://code.wireshark.org/review/9621
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'packaging/macosx')
-rwxr-xr-x | packaging/macosx/osx-app.sh | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/packaging/macosx/osx-app.sh b/packaging/macosx/osx-app.sh index 8d2219242d..058bce0337 100755 --- a/packaging/macosx/osx-app.sh +++ b/packaging/macosx/osx-app.sh @@ -606,7 +606,7 @@ rpathify_file () { otool -L $1 \ | fgrep compatibility \ | cut -d\( -f1 \ - | egrep -v "$exclude_prefixes" \ + | egrep -v "$exclude_prefixes|$qt_frameworks_dir" \ | sort \ | uniq \ `" @@ -628,6 +628,42 @@ rpathify_file () { echo "Changing reference to $lib to $to in $1" /usr/bin/install_name_tool -change $lib $to $1 done + + if [ "$ui_toolkit" = "qt" ] ; then + # + # Rpathify the references to the Qt frameworks + # as necessary. + # + qt_frameworks="`\ + otool -L $lib_dep_search_list 2>/dev/null \ + | fgrep compatibility \ + | cut -d\( -f1 \ + | egrep "$qt_frameworks_dir/Qt[a-zA-Z0-9_]*\.framework/" \ + | sort \ + | uniq \ + `" + for framework in $qt_frameworks + do + # + # Get the pathname of the framework, + # with everything leading up to it + # stripped. + # + base=`echo $framework | sed 's;$qt_frameworks_dir/;;'` + # + # The framework will end up in a + # directory under the rpath; this + # is what we should change its file + # name to. + # + to=@rpath/$base + # + # Change the reference to that framework. + # + echo "Changing reference to $framework to $to in $1" + /usr/bin/install_name_tool -change $lib $to $1 + done + fi ;; esac fi |