aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-11-04 20:59:02 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2015-11-04 20:59:02 +0200
commit5be7c011bf1a30ac336a4eda006ab0a101fd3543 (patch)
treeef08d32d32fa14cfb71d73dcd9061e589fa64162 /backends.py
parent19003e49d0c5aefd3a2a56f6b5ab48ab4c9d01e4 (diff)
downloadmeson-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.py17
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