makepanda: Respect lib-10.6 dir when copying dylibs/running install_name_tool

In the 1.10.8 thirdparty packages, OpenCV is split into a lib folder and a lib-10.6 folder, so we should use the proper dylibs to still be able to target 10.6
This commit is contained in:
rdb 2020-12-19 14:10:51 +01:00
parent 9544911127
commit 2d65738a18

View File

@ -3265,13 +3265,18 @@ if tp_dir is not None:
if GetTarget() == 'darwin':
# Make a list of all the dylibs we ship, to figure out whether we should use
# install_name_tool to correct the library reference to point to our copy.
for lib in glob.glob(tp_dir + "/*/lib/*.dylib"):
dylibs[os.path.basename(lib)] = os.path.basename(os.path.realpath(lib))
for pkg in PkgListGet():
if PkgSkip(pkg):
continue
if not PkgSkip("PYTHON"):
for lib in glob.glob(tp_dir + "/*/lib/" + SDK["PYTHONVERSION"] + "/*.dylib"):
tp_libdir = GetThirdpartyLibDir(pkg)
for lib in glob.glob(os.path.join(tp_libdir, "*.dylib")):
dylibs[os.path.basename(lib)] = os.path.basename(os.path.realpath(lib))
if not PkgSkip("PYTHON"):
for lib in glob.glob(os.path.join(tp_libdir, SDK["PYTHONVERSION"], "*.dylib")):
dylibs[os.path.basename(lib)] = os.path.basename(os.path.realpath(lib))
for pkg in PkgListGet():
if PkgSkip(pkg):
continue
@ -3284,13 +3289,14 @@ if tp_dir is not None:
CopyAllFiles(GetOutputDir() + "/bin/", tp_pkg + "/bin/" + SDK["PYTHONVERSION"] + "/")
elif GetTarget() == 'darwin':
tp_libs = glob.glob(tp_pkg + "/lib/*.dylib")
tp_libdir = GetThirdpartyLibDir(pkg)
tp_libs = glob.glob(os.path.join(tp_libdir, "*.dylib"))
if not PkgSkip("PYTHON"):
tp_libs += glob.glob(os.path.join(tp_pkg, "lib", SDK["PYTHONVERSION"], "*.dylib"))
tp_libs += glob.glob(os.path.join(tp_pkg, "lib", SDK["PYTHONVERSION"], "*.so"))
tp_libs += glob.glob(os.path.join(tp_libdir, SDK["PYTHONVERSION"], "*.dylib"))
tp_libs += glob.glob(os.path.join(tp_libdir, SDK["PYTHONVERSION"], "*.so"))
if pkg != 'PYTHON':
tp_libs += glob.glob(os.path.join(tp_pkg, "lib", SDK["PYTHONVERSION"], "*.py"))
tp_libs += glob.glob(os.path.join(tp_libdir, SDK["PYTHONVERSION"], "*.py"))
for tp_lib in tp_libs:
basename = os.path.basename(tp_lib)