From df923bf17e4ca058cef6ce919dbd5392e2fa67dd Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Fri, 3 Aug 2018 21:43:40 +0300 Subject: [PATCH] Add package "lib" folder to LD_PATH --- platformio/builder/tools/pioplatform.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/platformio/builder/tools/pioplatform.py b/platformio/builder/tools/pioplatform.py index 340ebd37..0fe4aeda 100644 --- a/platformio/builder/tools/pioplatform.py +++ b/platformio/builder/tools/pioplatform.py @@ -69,15 +69,22 @@ def LoadPioPlatform(env, variables): # Ensure real platform name env['PIOPLATFORM'] = p.name - # Add toolchains and uploaders to $PATH + # Add toolchains and uploaders to $PATH and $*_LIBRARY_PATH + systype = util.get_systype() for name in installed_packages: type_ = p.get_package_type(name) if type_ not in ("toolchain", "uploader", "debugger"): continue - path = p.get_package_dir(name) - if isdir(join(path, "bin")): - path = join(path, "bin") - env.PrependENVPath("PATH", path) + pkg_dir = p.get_package_dir(name) + env.PrependENVPath( + "PATH", + join(pkg_dir, "bin") if isdir(join(pkg_dir, "bin")) else pkg_dir) + if ("windows" not in systype and isdir(join(pkg_dir, "lib")) + and type_ != "toolchain"): + env.PrependENVPath( + "DYLD_LIBRARY_PATH" + if "darwin" in systype else "LD_LIBRARY_PATH", + join(pkg_dir, "lib")) # Platform specific LD Scripts if isdir(join(p.get_dir(), "ldscripts")):