diff options
Diffstat (limited to 'backends.py')
-rwxr-xr-x | backends.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/backends.py b/backends.py index b2f8ba5..31899b4 100755 --- a/backends.py +++ b/backends.py @@ -18,6 +18,7 @@ import os, sys, re, pickle import interpreter, nodes import environment from meson_install import InstallData +from interpreter import InvalidArguments if environment.is_windows(): quote_char = '"' @@ -96,6 +97,7 @@ class Backend(): self.environment = build.environment self.interpreter = interp self.processed_targets = {} + self.dep_rules = {} self.build_to_src = os.path.relpath(self.environment.get_source_dir(), self.environment.get_build_dir()) @@ -433,6 +435,9 @@ class NinjaBackend(Backend): outfile.write(' command = %s\n' % command) desc = rule.description.replace('@INFILE@', '$in') outfile.write(' description = %s\n' % desc) + if rule.src_keyword in self.dep_rules: + raise InvalidArguments('Multiple rules for keyword %s.' % rule.src_keyword) + self.dep_rules[rule.src_keyword] = rule outfile.write('\n') def generate_rules(self, outfile): |