aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-04-07 21:28:10 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2014-04-07 21:28:10 +0300
commitf23a5a115089346f349643e86241fc08b0684f9b (patch)
treef11b69d7081e7188c4d158d07e690cea9451ec65 /backends.py
parent1d36109002cc5ce79b1627cceae7bc3a1e28e113 (diff)
downloadmeson-f23a5a115089346f349643e86241fc08b0684f9b.zip
meson-f23a5a115089346f349643e86241fc08b0684f9b.tar.gz
meson-f23a5a115089346f349643e86241fc08b0684f9b.tar.bz2
Write generator deps to Ninja files properly. Now can compile 1300+ files of QtCreator without dependency problems.
Diffstat (limited to 'backends.py')
-rw-r--r--backends.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/backends.py b/backends.py
index 563557d..81062f9 100644
--- a/backends.py
+++ b/backends.py
@@ -220,7 +220,12 @@ class Backend():
if is_unity:
unity_src.append(src)
else:
- obj_list.append(self.generate_single_compile(target, outfile, src, True))
+ # Generated targets are ordered deps because the must exist
+ # before the sources compiling them are used. After the first
+ # compile we get precise dependency info from dep files.
+ # This should work in all cases. If it does not, then just
+ # move them from orderdeps to proper deps.
+ obj_list.append(self.generate_single_compile(target, outfile, src, True, [], header_deps))
for src in target.get_sources():
if not self.environment.is_header(src):
src_list.append(src)
@@ -229,7 +234,7 @@ class Backend():
target.get_subdir(), src)
unity_src.append(abs_src)
else:
- obj_list.append(self.generate_single_compile(target, outfile, src, False, header_deps))
+ obj_list.append(self.generate_single_compile(target, outfile, src, False, [], header_deps))
obj_list += self.flatten_object_list(target)
if is_unity:
for src in self.generate_unity_files(target, unity_src):