From b9774b44851780fc401a78e0e3da7ad8e76b7b54 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 19 Mar 2019 11:49:11 +0100 Subject: generator: add dependency on generator in source tree If find_program() returns a file from the source directory, anything that uses it should add the file to the dependencies, so that they are rebuilt whenever the script changes. Generator is not doing that. While at it, I am doing two related fixes: - Generator is not checking whther the generator actually was found, resulting in a Python error involving NoneType if it isn't. To minimize backwards compatibility issues, I am only raising the error when g.process() is acutally called. - the error message for custom_target with a nonexisting program erroneously mention a not-found external program "nonexistingprogram". The new error is similar to the one I am adding for generators. --- mesonbuild/backend/ninjabackend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mesonbuild/backend/ninjabackend.py') diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index a3b9ce8..405bd26 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -1757,7 +1757,7 @@ rule FORTRAN_DEP_HACK%s exe_arr = self.exe_object_to_cmd_array(exe) infilelist = genlist.get_inputs() outfilelist = genlist.get_outputs() - extra_dependencies = [os.path.join(self.build_to_src, i) for i in genlist.extra_depends] + extra_dependencies = self.get_custom_target_depend_files(genlist) for i in range(len(infilelist)): curfile = infilelist[i] if len(generator.outputs) == 1: -- cgit v1.1