aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-04-01 18:18:57 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2013-04-01 18:18:57 +0300
commit8f63a4ff811c0d2e3e7901e6c62454431ec2fcc1 (patch)
tree283fc910dca687641162ec75d6e2e23922e9e561 /backends.py
parenta869da185f076a81b65ebd55f074a26c6e6b8466 (diff)
downloadmeson-8f63a4ff811c0d2e3e7901e6c62454431ec2fcc1.zip
meson-8f63a4ff811c0d2e3e7901e6c62454431ec2fcc1.tar.gz
meson-8f63a4ff811c0d2e3e7901e6c62454431ec2fcc1.tar.bz2
Ui rule too, and store rules in the backend object.
Diffstat (limited to 'backends.py')
-rwxr-xr-xbackends.py5
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):