diff options
Diffstat (limited to 'mesonbuild/dependencies/base.py')
-rw-r--r-- | mesonbuild/dependencies/base.py | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index 69b81d5..8d2f759 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -642,28 +642,35 @@ class PkgConfigDependency(ExternalDependency): mlog.debug("Called `{}` -> {}\n{}".format(call, rc, out)) return rc, out, err - def _call_pkgbin(self, args, env=None): - # Always copy the environment since we're going to modify it - # with pkg-config variables - if env is None: - env = os.environ.copy() - else: - env = env.copy() - - extra_paths = self.env.coredata.builtins_per_machine[self.for_machine]['pkg_config_path'].value - sysroot = self.env.properties[self.for_machine].get_sys_root() + @staticmethod + def setup_env(env, environment, for_machine, extra_path=None): + extra_paths = environment.coredata.builtins_per_machine[for_machine]['pkg_config_path'].value + if extra_path: + extra_paths.append(extra_path) + sysroot = environment.properties[for_machine].get_sys_root() if sysroot: env['PKG_CONFIG_SYSROOT_DIR'] = sysroot new_pkg_config_path = ':'.join([p for p in extra_paths]) mlog.debug('PKG_CONFIG_PATH: ' + new_pkg_config_path) env['PKG_CONFIG_PATH'] = new_pkg_config_path - pkg_config_libdir_prop = self.env.properties[self.for_machine].get_pkg_config_libdir() + pkg_config_libdir_prop = environment.properties[for_machine].get_pkg_config_libdir() if pkg_config_libdir_prop: new_pkg_config_libdir = ':'.join([p for p in pkg_config_libdir_prop]) env['PKG_CONFIG_LIBDIR'] = new_pkg_config_libdir mlog.debug('PKG_CONFIG_LIBDIR: ' + new_pkg_config_libdir) + + def _call_pkgbin(self, args, env=None): + # Always copy the environment since we're going to modify it + # with pkg-config variables + if env is None: + env = os.environ.copy() + else: + env = env.copy() + + PkgConfigDependency.setup_env(env, self.env, self.for_machine) + fenv = frozenset(env.items()) targs = tuple(args) cache = PkgConfigDependency.pkgbin_cache |