summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2019-08-20 21:28:33 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2019-08-20 21:29:07 +0300
commitfe27e43648a47a61b46b2b716f43f1ca9baa828f (patch)
treea810036a6c66937247c39e6e739b326fbd44d2e5
parent53289cb98cfe0c44d49443da833b6222f68ab826 (diff)
downloadmeson-fix5809.tar.gz
Rerun configuration for all potential input files. Closes #5809.fix5809
-rw-r--r--mesonbuild/interpreter.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index c10297879..8065d9e31 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2412,14 +2412,15 @@ external dependencies (including libraries) must go to "dependencies".''')
expanded_args.append(a.held_object.get_path())
else:
raise InterpreterException('Arguments ' + m.format(a))
+ # If any file that was used as an argument to the command
+ # changes, we must re-run the configuration step.
for a in expanded_args:
if not os.path.isabs(a):
a = os.path.join(builddir if in_builddir else srcdir, self.subdir, a)
if os.path.isfile(a):
a = mesonlib.relpath(a, start=srcdir)
- if not a.startswith('..'):
- if a not in self.build_def_files:
- self.build_def_files.append(a)
+ if a not in self.build_def_files:
+ self.build_def_files.append(a)
return RunProcess(cmd, expanded_args, env, srcdir, builddir, self.subdir,
self.environment.get_build_command() + ['introspect'],
in_builddir=in_builddir, check=check, capture=capture)