aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2019-08-20 21:28:33 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2019-08-21 20:49:49 +0300
commit3db6dcb3b858c44cd68585dd99280dd82ed8fb33 (patch)
tree992290b8a1bcd42a4dc02d5a890f43b0e9f5358b
parent1ea3ddc6ad7458bbcb51704ccb5ef266c5164074 (diff)
downloadmeson-3db6dcb3b858c44cd68585dd99280dd82ed8fb33.zip
meson-3db6dcb3b858c44cd68585dd99280dd82ed8fb33.tar.gz
meson-3db6dcb3b858c44cd68585dd99280dd82ed8fb33.tar.bz2
Rerun configuration for all potential input files. Closes #5809.
-rw-r--r--mesonbuild/interpreter.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 0fd2f06..cc0dae0 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)