diff options
Diffstat (limited to 'interpreter.py')
-rw-r--r-- | interpreter.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/interpreter.py b/interpreter.py index 6fe0212..cacfe05 100644 --- a/interpreter.py +++ b/interpreter.py @@ -290,18 +290,17 @@ class GeneratorHolder(InterpreterObject): self.methods.update({'process' : self.process_method}) def process_method(self, args, kwargs): - if len(kwargs) > 0: - raise InvalidArguments('Process does not take keyword arguments.') check_stringlist(args) - gl = GeneratedListHolder(self) + extras = mesonlib.stringlistify(kwargs.get('extra_args', [])) + gl = GeneratedListHolder(self, extras) [gl.add_file(os.path.join(self.interpreter.subdir, a)) for a in args] return gl class GeneratedListHolder(InterpreterObject): - def __init__(self, arg1): + def __init__(self, arg1, extra_args=[]): super().__init__() if isinstance(arg1, GeneratorHolder): - self.held_object = build.GeneratedList(arg1.held_object) + self.held_object = build.GeneratedList(arg1.held_object, extra_args) else: self.held_object = arg1 @@ -872,7 +871,7 @@ class MesonMain(InterpreterObject): self.build.dep_manifest_name = args[0] def project_version_method(self, args, kwargs): - return self.build.dep_manifest[self.interpreter.active_projectname] + return self.build.dep_manifest[self.interpreter.active_projectname]['version'] class Interpreter(): @@ -1378,7 +1377,9 @@ class Interpreter(): self.parse_default_options(kwargs['default_options']) self.active_projectname = args[0] self.project_version = kwargs.get('version', 'undefined') - self.build.dep_manifest[args[0]] = self.project_version + license = mesonlib.stringlistify(kwargs.get('license', 'unknown')) + self.build.dep_manifest[args[0]] = {'version': self.project_version, + 'license': license} if self.subproject in self.build.projects: raise InvalidCode('Second call to project().') if not self.is_subproject() and 'subproject_dir' in kwargs: @@ -1395,7 +1396,7 @@ class Interpreter(): langs = self.coredata.compilers.keys() if 'vala' in langs: if not 'c' in langs: - raise InterpreterException('Compiling Vala requires a C compiler') + raise InterpreterException('Compiling Vala requires C. Add C to your project languages and rerun Meson.') @noKwargs @stringArgs |