From ecd46332af122772decfa1164d1cf688135a5b40 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Fri, 15 Mar 2013 22:13:11 +0200 Subject: [PATCH] Support for both basename and plainname in generators. --- interpreter.py | 9 +++++---- test cases/common/30 pipeline/prog.c | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/interpreter.py b/interpreter.py index 878b4609d..ff1de6d07 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: diff --git a/test cases/common/30 pipeline/prog.c b/test cases/common/30 pipeline/prog.c index 34294816b..29396b952 100644 --- a/test cases/common/30 pipeline/prog.c +++ b/test cases/common/30 pipeline/prog.c @@ -1,4 +1,4 @@ -#include"input_src.dat.h" +#include"input_src.h" int main(int argc, char **argv) { void *foo = printf;