diff options
-rw-r--r-- | dependencies.py | 14 | ||||
-rwxr-xr-x | environment.py | 1 | ||||
-rwxr-xr-x | interpreter.py | 4 |
3 files changed, 9 insertions, 10 deletions
diff --git a/dependencies.py b/dependencies.py index 9e71a96..1fd734d 100644 --- a/dependencies.py +++ b/dependencies.py @@ -21,8 +21,7 @@ # Currently one file, should probably be split into a # package before this gets too big. -import os, stat, glob, subprocess -from interpreter import InvalidArguments +import os, stat, glob, subprocess, shutil from coredata import MesonException class DependencyException(MesonException): @@ -125,7 +124,10 @@ class PkgConfigDependency(Dependency): class ExternalProgram(): def __init__(self, name, fullpath=None): self.name = name - self.fullpath = fullpath + if fullpath is not None: + self.fullpath = fullpath + else: + self.fullpath = shutil.which(name) def found(self): return self.fullpath is not None @@ -182,19 +184,19 @@ class BoostDependency(): def get_requested(self, kwargs): modules = 'modules' if not modules in kwargs: - raise InvalidArguments('Boost dependency must specify "%s" keyword.' % modules) + raise DependencyException('Boost dependency must specify "%s" keyword.' % modules) candidates = kwargs[modules] if isinstance(candidates, str): return [candidates] for c in candidates: if not isinstance(c, str): - raise InvalidArguments('Boost module argument is not a string.') + raise DependencyException('Boost module argument is not a string.') return candidates def validate_requested(self): for m in self.requested_modules: if m not in self.src_modules: - raise InvalidArguments('Requested Boost module "%s" not found.' % m) + raise DependencyException('Requested Boost module "%s" not found.' % m) def found(self): return self.version is not None diff --git a/environment.py b/environment.py index 2d8ae13..6a04fcf 100755 --- a/environment.py +++ b/environment.py @@ -16,7 +16,6 @@ import subprocess, os.path, platform import coredata -import dependencies from glob import glob build_filename = 'meson.build' diff --git a/interpreter.py b/interpreter.py index 7375cf8..5b32cc7 100755 --- a/interpreter.py +++ b/interpreter.py @@ -20,7 +20,6 @@ import environment import coredata import dependencies import os, sys, platform -import shutil class InterpreterException(Exception): pass @@ -654,8 +653,7 @@ class Interpreter(): if exename in self.coredata.ext_progs and\ self.coredata.ext_progs[exename].found(): return ExternalProgramHolder(self.coredata.ext_progs[exename]) - result = shutil.which(exename) # Does .exe appending on Windows. - extprog = dependencies.ExternalProgram(exename, result) + extprog = dependencies.ExternalProgram(exename) progobj = ExternalProgramHolder(extprog) self.coredata.ext_progs[exename] = extprog if required and not progobj.found(): |