diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-02-12 23:15:44 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-02-12 23:15:44 +0200 |
commit | fc08f60b9fbb4524c08e37a0b7a5c87c87efe608 (patch) | |
tree | a9ddf2268c20421129c0e1e8028f0eafea4cdb8b | |
parent | 72a94c13f232450addda674c70ee968a204fe4a9 (diff) | |
download | meson-fc08f60b9fbb4524c08e37a0b7a5c87c87efe608.zip meson-fc08f60b9fbb4524c08e37a0b7a5c87c87efe608.tar.gz meson-fc08f60b9fbb4524c08e37a0b7a5c87c87efe608.tar.bz2 |
Do not cache found programs because it is unreliable. Closes #374.
-rw-r--r-- | mesonbuild/coredata.py | 1 | ||||
-rw-r--r-- | mesonbuild/interpreter.py | 6 |
2 files changed, 2 insertions, 5 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index 247dcc8..72e3414 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -154,7 +154,6 @@ class CoreData(): self.compilers = {} self.cross_compilers = {} self.deps = {} - self.ext_progs = {} self.modules = {} def init_builtins(self, options): diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 6ef7683..238c96c 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1497,14 +1497,12 @@ class Interpreter(): if not isinstance(required, bool): raise InvalidArguments('"required" argument must be a boolean.') exename = args[0] - if exename in self.coredata.ext_progs and\ - self.coredata.ext_progs[exename].found(): - return ExternalProgramHolder(self.coredata.ext_progs[exename]) # Search for scripts relative to current subdir. + # Do not cache found programs because find_program('foobar') + # might give different results when run from different source dirs. search_dir = os.path.join(self.environment.get_source_dir(), self.subdir) extprog = dependencies.ExternalProgram(exename, search_dir=search_dir) progobj = ExternalProgramHolder(extprog) - self.coredata.ext_progs[exename] = extprog if required and not progobj.found(): raise InvalidArguments('Program "%s" not found.' % exename) return progobj |