diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2014-04-20 13:58:20 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2014-04-20 13:58:20 +0300 |
commit | c7e7d1a4c354b21fe9308dd872a99ec4bc7356be (patch) | |
tree | 894ff3c672fdf0389d44951a75fd0e58986ce43a /dependencies.py | |
parent | c21637a01db7f6958c816bfe2a8b0383b96e8f68 (diff) | |
download | meson-c7e7d1a4c354b21fe9308dd872a99ec4bc7356be.zip meson-c7e7d1a4c354b21fe9308dd872a99ec4bc7356be.tar.gz meson-c7e7d1a4c354b21fe9308dd872a99ec4bc7356be.tar.bz2 |
Can execute found programs with run_command.
Diffstat (limited to 'dependencies.py')
-rw-r--r-- | dependencies.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/dependencies.py b/dependencies.py index 13fdcd3..eabdb71 100644 --- a/dependencies.py +++ b/dependencies.py @@ -127,17 +127,21 @@ class PkgConfigDependency(Dependency): return self.is_found class ExternalProgram(): - def __init__(self, name, fullpath=None, silent=False): + def __init__(self, name, fullpath=None, silent=False, search_dir=None): self.name = name if fullpath is not None: self.fullpath = fullpath else: self.fullpath = shutil.which(name) + if self.fullpath is None and search_dir is not None: + trial = os.path.join(search_dir, name) + if os.access(trial, os.X_OK): + self.fullpath = trial if not silent: if self.found(): mlog.log('Program', mlog.bold(name), 'found:', mlog.green('YES'), '(%s)' % self.fullpath) else: - mlog.log('Program', mlog.bold(name), 'found:,', mlog.red('NO')) + mlog.log('Program', mlog.bold(name), 'found:', mlog.red('NO')) def found(self): return self.fullpath is not None |