aboutsummaryrefslogtreecommitdiff
path: root/ninjabackend.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-07-03 22:18:09 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2015-07-03 22:18:09 +0300
commitcd40187d4ecc99a91aaaf2cad8991d600691c443 (patch)
tree1679bfa9595d98a18ca2784b00694d9308e1a2b3 /ninjabackend.py
parent5cbcb144fa42cdf18e39212de7f82c537116d9a5 (diff)
downloadmeson-cd40187d4ecc99a91aaaf2cad8991d600691c443.zip
meson-cd40187d4ecc99a91aaaf2cad8991d600691c443.tar.gz
meson-cd40187d4ecc99a91aaaf2cad8991d600691c443.tar.bz2
Handle files() in Vala arguments and set up deps correctly.
Diffstat (limited to 'ninjabackend.py')
-rw-r--r--ninjabackend.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/ninjabackend.py b/ninjabackend.py
index c929238..04ee778 100644
--- a/ninjabackend.py
+++ b/ninjabackend.py
@@ -689,6 +689,7 @@ class NinjaBackend(backends.Backend):
generated_c = []
(src, vapi_src) = self.split_vala_sources(target.get_sources())
vapi_src = [x.rel_to_builddir(self.build_to_src) for x in vapi_src]
+ extra_dep_files = []
for s in src:
if not s.endswith('.vala'):
continue
@@ -714,11 +715,22 @@ class NinjaBackend(backends.Backend):
args += ['--target-glib', d.version_requirement[2:]]
args += ['--pkg', d.name]
args += vapi_src
- args += target.extra_args.get('vala', [])
+ extra_args = []
+
+ for a in target.extra_args.get('vala', []):
+ if isinstance(a, File):
+ relname = a.rel_to_builddir(self.build_to_src)
+ extra_dep_files.append(relname)
+ extra_args.append(relname)
+ else:
+ extra_args.append(a)
+ print(extra_args)
+ args += extra_args
generated_c += [relsc]
element = NinjaBuildElement(relsc, valac.get_language() + '_COMPILER', rel_s)
element.add_item('ARGS', args)
element.add_orderdep(vapi_order_deps)
+ element.add_dep(extra_dep_files)
element.write(outfile)
return generated_c