diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2021-12-20 20:33:48 -0500 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-12-21 12:17:10 +0100 |
commit | ee0baa97cd0411e15bd8f47e3874f217887d0a7a (patch) | |
tree | 10f998a9c969070edaf3171dd987008022e1a392 /mesonbuild/modules/dlang.py | |
parent | 6be258137ebfea474533ab7a855d4a1e817aeedc (diff) | |
download | meson-ee0baa97cd0411e15bd8f47e3874f217887d0a7a.zip meson-ee0baa97cd0411e15bd8f47e3874f217887d0a7a.tar.gz meson-ee0baa97cd0411e15bd8f47e3874f217887d0a7a.tar.bz2 |
modules: use find_program implementation to find programs
Do not use ExternalProgram as that is too low-level and doesn't handle
e.g. machine file overrides.
Fixes #9733
Diffstat (limited to 'mesonbuild/modules/dlang.py')
-rw-r--r-- | mesonbuild/modules/dlang.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/mesonbuild/modules/dlang.py b/mesonbuild/modules/dlang.py index 60d2885..ddb780b 100644 --- a/mesonbuild/modules/dlang.py +++ b/mesonbuild/modules/dlang.py @@ -22,7 +22,6 @@ from . import ExtensionModule from .. import dependencies from .. import mlog from ..mesonlib import Popen_safe, MesonException -from ..programs import ExternalProgram class DlangModule(ExtensionModule): class_dubbin = None @@ -34,7 +33,7 @@ class DlangModule(ExtensionModule): 'generate_dub_file': self.generate_dub_file, }) - def _init_dub(self): + def _init_dub(self, state): if DlangModule.class_dubbin is None: self.dubbin = dependencies.DubDependency.class_dubbin DlangModule.class_dubbin = self.dubbin @@ -42,7 +41,7 @@ class DlangModule(ExtensionModule): self.dubbin = DlangModule.class_dubbin if DlangModule.class_dubbin is None: - self.dubbin = self.check_dub() + self.dubbin = self.check_dub(state) DlangModule.class_dubbin = self.dubbin else: self.dubbin = DlangModule.class_dubbin @@ -53,7 +52,7 @@ class DlangModule(ExtensionModule): def generate_dub_file(self, state, args, kwargs): if not DlangModule.init_dub: - self._init_dub() + self._init_dub(state) if len(args) < 2: raise MesonException('Missing arguments') @@ -109,8 +108,8 @@ class DlangModule(ExtensionModule): p, out = Popen_safe(self.dubbin.get_command() + args, env=env)[0:2] return p.returncode, out.strip() - def check_dub(self): - dubbin = ExternalProgram('dub', silent=True) + def check_dub(self, state): + dubbin = state.find_program('dub', silent=True) if dubbin.found(): try: p, out = Popen_safe(dubbin.get_command() + ['--version'])[0:2] |