diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/mac-libs.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/mac-libs.rb b/tools/mac-libs.rb index 534b003..94e33f4 100755 --- a/tools/mac-libs.rb +++ b/tools/mac-libs.rb @@ -56,6 +56,10 @@ def expand_load_path(lib, path) file = $fallback_rpaths .map { |it| File.join(it, file_name) } .find { |it| File.exist? it } + if file == nil + path = File.join(File.dirname(lib), file_name) + file = path if File.exist? path + end return file, :rpath if file when "executable_path" file = File.join(File.dirname(executable), file_name) @@ -85,7 +89,6 @@ def install_name_tool(exec, action, path1, path2 = nil) args = ["-#{action.to_s}", path1] args << path2 if path2 != nil - FileUtils.chmod("u+w", exec) out, status = Open3.capture2e("install_name_tool", *args, exec) if status != 0 puts out @@ -129,6 +132,7 @@ def fixup_libs(prog, orig_path) next if File.exist? File.join(frameworks_dir, fwname) expath, _ = expand_load_path(orig_path, framework) FileUtils.cp_r(expath, frameworks_dir, preserve: true) + FileUtils.chmod_R("u+w", File.join(frameworks_dir, fwname)) fixup_libs File.join(frameworks_dir, fwname, fwlib), libpath else libname = File.basename(libpath) @@ -141,6 +145,7 @@ def fixup_libs(prog, orig_path) next if File.exist? dest expath, _ = expand_load_path(orig_path, libpath) FileUtils.copy expath, frameworks_dir + FileUtils.chmod("u+w", dest) fixup_libs dest, libpath end end |