diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-11-04 20:59:02 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-11-04 20:59:02 +0200 |
commit | 5be7c011bf1a30ac336a4eda006ab0a101fd3543 (patch) | |
tree | ef08d32d32fa14cfb71d73dcd9061e589fa64162 /backends.py | |
parent | 19003e49d0c5aefd3a2a56f6b5ab48ab4c9d01e4 (diff) | |
download | meson-5be7c011bf1a30ac336a4eda006ab0a101fd3543.zip meson-5be7c011bf1a30ac336a4eda006ab0a101fd3543.tar.gz meson-5be7c011bf1a30ac336a4eda006ab0a101fd3543.tar.bz2 |
Regenerator script works, but is not run automatically yet.
Diffstat (limited to 'backends.py')
-rw-r--r-- | backends.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/backends.py b/backends.py index 4acf71c..b5af2ac 100644 --- a/backends.py +++ b/backends.py @@ -333,3 +333,20 @@ class Backend(): mfobj['projects'] = self.build.dep_manifest open(ifilename, 'w').write(json.dumps(mfobj)) d.data.append([ifilename, ofilename]) + + def get_regen_filelist(self): + '''List of all files whose alteration means that the build + definition needs to be regenerated.''' + deps = [os.path.join(self.build_to_src, df) \ + for df in self.interpreter.get_build_def_files()] + if self.environment.is_cross_build(): + deps.append(os.path.join(self.build_to_src, + self.environment.coredata.cross_file)) + deps.append('meson-private/coredata.dat') + if os.path.exists(os.path.join(self.environment.get_source_dir(), 'meson_options.txt')): + deps.append(os.path.join(self.build_to_src, 'meson_options.txt')) + for sp in self.build.subprojects.keys(): + fname = os.path.join(self.environment.get_source_dir(), sp, 'meson_options.txt') + if os.path.isfile(fname): + deps.append(os.path.join(self.build_to_src, sp, 'meson_options.txt')) + return deps |