git-svn-id: svn://db.shs.com.ru/pip@1032 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2020-04-16 12:05:27 +00:00
parent 6e66e75114
commit 715e31ac6f

View File

@@ -386,6 +386,7 @@ void patchNameTool() {
PIString fl = findLib(frameworkName(f)); PIString fl = findLib(frameworkName(f));
if (fl.isEmpty()) continue; if (fl.isEmpty()) continue;
patch_list << (out_dir + frameworkName(f) + "/" + frameworkInternalPath(f)); patch_list << (out_dir + frameworkName(f) + "/" + frameworkInternalPath(f));
PICout(DefaultControls) << "map" << f << "->" << (out_dir + frameworkName(f) + "/" + frameworkInternalPath(f));
} }
piForeach (PIString local_lib, patch_list) { piForeach (PIString local_lib, patch_list) {
cmd = otool + " -L \"" + local_lib; cmd = otool + " -L \"" + local_lib;
@@ -400,20 +401,20 @@ void patchNameTool() {
fi.path = sys_lib; fi.path = sys_lib;
libname = fi.name(); libname = fi.name();
PIString fl = findLib(libname), fname = frameworkName(sys_lib); PIString fl = findLib(libname), fname = frameworkName(sys_lib);
PIString new_path;
if (all_libs.contains(fl)) { if (all_libs.contains(fl)) {
new_path = "@executable_path/../Frameworks/" + libname;
PICout(DefaultControls) << " depend on lib" << fl; PICout(DefaultControls) << " depend on lib" << fl;
cmd = nametool + " -change \"" + sys_lib + "\"";
cmd += " \"@executable_path/../Frameworks/" + libname + "\"";
cmd += " \"" + local_lib + "\"";
//PICout(DefaultControls) << " " << cmd;
execute(cmd);
} }
if (frameworks.contains(fname)) { if (frameworks.contains(fname)) {
fl = findLib(fname); fl = findLib(fname);
if (fl.isEmpty()) continue; if (fl.isEmpty()) continue;
new_path = "@executable_path/../Frameworks/" + fname + "/" + frameworkInternalPath(sys_lib);
PICout(DefaultControls) << " depend on framework" << fl; PICout(DefaultControls) << " depend on framework" << fl;
}
if (!new_path.isEmpty()) {
cmd = nametool + " -change \"" + sys_lib + "\""; cmd = nametool + " -change \"" + sys_lib + "\"";
cmd += " \"@executable_path/../Frameworks/" + fname + "/" + frameworkInternalPath(sys_lib) + "\""; cmd += " \"" + new_path + "\"";
cmd += " \"" + local_lib + "\""; cmd += " \"" + local_lib + "\"";
//PICout(DefaultControls) << " " << cmd; //PICout(DefaultControls) << " " << cmd;
execute(cmd); execute(cmd);