aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-03-15 22:13:11 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-03-15 22:13:11 +0200
commitecd46332af122772decfa1164d1cf688135a5b40 (patch)
treeeda27a17491f4a94863e16cb0aec48b0cd56c575 /interpreter.py
parent7e9827704c20e989d40593ee3fc627da346d8fd3 (diff)
downloadmeson-ecd46332af122772decfa1164d1cf688135a5b40.zip
meson-ecd46332af122772decfa1164d1cf688135a5b40.tar.gz
meson-ecd46332af122772decfa1164d1cf688135a5b40.tar.bz2
Support for both basename and plainname in generators.
Diffstat (limited to 'interpreter.py')
-rwxr-xr-xinterpreter.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/interpreter.py b/interpreter.py
index 878b460..ff1de6d 100755
--- a/interpreter.py
+++ b/interpreter.py
@@ -119,15 +119,16 @@ class Generator(InterpreterObject):
rule = kwargs['output_name']
if not isinstance(rule, str):
raise InvalidArguments('"output_name" keyword argument must be a string.')
- if not '@BASENAME@' in rule:
- raise InvalidArguments('"output_name" must contain @BASENAME@.')
+ if not '@BASENAME@' in rule and not '@PLAINNAME@' in rule:
+ raise InvalidArguments('"output_name" must contain @BASENAME@ or @PLAINNAME@.')
if '/' in rule:
raise InvalidArguments('"output_name" must not contain a slash.')
self.name_rule = rule
def get_base_outname(self, inname):
- base = os.path.split(inname)[1]
- return self.name_rule.replace('@BASENAME@', base)
+ plainname = os.path.split(inname)[1]
+ basename = plainname.split('.')[0]
+ return self.name_rule.replace('@BASENAME@', basename).replace('@PLAINNAME@', plainname)
def process_method(self, args, kwargs):
if len(kwargs) > 0: