diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-01-01 20:45:11 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-01-01 20:45:11 +0200 |
commit | 6502708b08ad6653f2cc457e758894f67c46a638 (patch) | |
tree | 12a54209449666d4a6906acfa81143197e8a3a4a /interpreter.py | |
parent | b1ccec0cefa3056c7c6f2786dfb807df41edca4e (diff) | |
download | meson-6502708b08ad6653f2cc457e758894f67c46a638.zip meson-6502708b08ad6653f2cc457e758894f67c46a638.tar.gz meson-6502708b08ad6653f2cc457e758894f67c46a638.tar.bz2 |
Can define more than one language.
Diffstat (limited to 'interpreter.py')
-rwxr-xr-x | interpreter.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/interpreter.py b/interpreter.py index 4488497..7b86683 100755 --- a/interpreter.py +++ b/interpreter.py @@ -132,16 +132,20 @@ class Interpreter(): print('Message: %s' % args[0]) def func_language(self, node, args): - self.validate_arguments(args, 1, [str]) + if len(args) == 0: + raise InvalidArguments('Line %d: no arguments to function language.' % node.lineno()) + for a in args: + if not isinstance(a, str): + raise InvalidArguments('Line %d: Argument %s is not a string.' % (node.lineno(), str(a))) if len(self.compilers) > 0: raise InvalidCode('Function language() can only be called once (line %d).' % node.lineno()) - lang = args[0] - if lang.lower() == 'c': - comp = environment.detect_c_compiler('gcc') - comp.sanity_check(self.scratch_dir) - self.compilers.append(comp) - else: - raise InvalidCode('Tried to use unknown language "%s".' % lang) + for lang in args: + if lang.lower() == 'c': + comp = environment.detect_c_compiler('gcc') + comp.sanity_check(self.scratch_dir) + self.compilers.append(comp) + else: + raise InvalidCode('Tried to use unknown language "%s".' % lang) def func_executable(self, node, args): for a in args: |