diff options
author | SCG82 <scg082+github@gmail.com> | 2019-12-23 12:31:42 +0300 |
---|---|---|
committer | SCG82 <scg082+github@gmail.com> | 2019-12-23 12:31:42 +0300 |
commit | e228020b16c085256f603d2b09ea50262e5842bd (patch) | |
tree | 6090932ae8ff79a114db96f34e3db386c634ecfe | |
parent | 9b646f4bb324ac7c4e4571c6709d63cc0c982df3 (diff) |
Handle @loader_path
-rw-r--r-- | src/DylibBundler.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/DylibBundler.cpp b/src/DylibBundler.cpp index c3e041b..0198b6c 100644 --- a/src/DylibBundler.cpp +++ b/src/DylibBundler.cpp @@ -53,7 +53,7 @@ void changeLibPathsOnFile(std::string file_to_fix) bool isRpath(const std::string& path) { - return path.find("@rpath") == 0; + return path.find("@rpath") == 0 || path.find("@loader_path") == 0; } void collectRpaths(const std::string& filename) @@ -114,7 +114,7 @@ std::string searchFilenameInRpaths(const std::string& rpath_file) { char buffer[PATH_MAX]; std::string fullpath; - std::string suffix = rpath_file.substr(7, rpath_file.size()-6); + std::string suffix = rpath_file.substr(rpath_file.rfind("/")+1); for (std::set<std::string>::iterator it = rpaths.begin(); it != rpaths.end(); ++it) { |