diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-10-10 20:32:17 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-10-10 23:26:40 +0300 |
commit | 60119753d629053bcd3f0fe973977b8ed8f51ea8 (patch) | |
tree | aa58bc26fc3114e0c1e3fe8bc3978764c58d2eec /mesonbuild/interpreter.py | |
parent | 3a3db9fc5ee543821d7384038b852538f84099f6 (diff) | |
download | meson-60119753d629053bcd3f0fe973977b8ed8f51ea8.zip meson-60119753d629053bcd3f0fe973977b8ed8f51ea8.tar.gz meson-60119753d629053bcd3f0fe973977b8ed8f51ea8.tar.bz2 |
Check contents of arguments inside project(). Closes #857.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 92b997a..1ce87b7 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1128,7 +1128,7 @@ class Interpreter(): raise me self.sanity_check_ast() self.variables = {} - self.builtin = {} + self.builtin = {'meson': MesonMain(build, self)} self.generators = [] self.visited_subdirs = {} self.global_args_frozen = False @@ -1150,7 +1150,6 @@ class Interpreter(): self.builtin['target_machine'] = CrossMachineInfo(cross_info.config['target_machine']) else: self.builtin['target_machine'] = self.builtin['host_machine'] - self.builtin['meson'] = MesonMain(build, self) self.build_def_files = [os.path.join(self.subdir, environment.build_filename)] def build_func_dict(self): @@ -1254,9 +1253,6 @@ class Interpreter(): first = self.ast.lines[0] if not isinstance(first, mparser.FunctionNode) or first.func_name != 'project': raise InvalidCode('First statement must be a call to project') - args = self.reduce_arguments(first.args)[0] - if len(args) < 2: - raise InvalidArguments('Not enough arguments to project(). Needs at least the project name and one language') def check_cross_stdlibs(self): @@ -1615,6 +1611,8 @@ class Interpreter(): self.build.project_name = args[0] if self.environment.first_invocation and 'default_options' in kwargs: self.parse_default_options(kwargs['default_options']) + if len(args) < 2: + raise InvalidArguments('Not enough arguments to project(). Needs at least the project name and one language') self.active_projectname = args[0] self.project_version = kwargs.get('version', 'undefined') proj_license = mesonlib.stringlistify(kwargs.get('license', 'unknown')) |