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