diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-10-12 23:26:30 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-10-12 23:26:30 +0300 |
commit | 95a99682b0c00c6a207b580a93a764aa507d1f46 (patch) | |
tree | 6e6d196fae767d9977ab8d13a7a143edb61f7c09 /mesonbuild/interpreter.py | |
parent | f194914b9fe0042cce83ee4371ca3ccc2efc7120 (diff) | |
parent | acdb17ffa2df2046cee320789b7ba5c81f0bbab5 (diff) | |
download | meson-95a99682b0c00c6a207b580a93a764aa507d1f46.zip meson-95a99682b0c00c6a207b580a93a764aa507d1f46.tar.gz meson-95a99682b0c00c6a207b580a93a764aa507d1f46.tar.bz2 |
Merge branch 'QuLogic-compiler-file-checks'
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 1ce87b7..8435bb1 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -699,8 +699,12 @@ class CompilerHolder(InterpreterObject): def run_method(self, args, kwargs): if len(args) != 1: raise InterpreterException('Run method takes exactly one positional argument.') - check_stringlist(args) code = args[0] + if isinstance(code, mesonlib.File): + code = mesonlib.File.from_absolute_file( + code.rel_to_builddir(self.environment.source_dir)) + elif not isinstance(code, str): + raise InvalidArguments('Argument must be string or file.') testname = kwargs.get('name', '') if not isinstance(testname, str): raise InterpreterException('Testname argument must be a string.') @@ -820,8 +824,12 @@ class CompilerHolder(InterpreterObject): def compiles_method(self, args, kwargs): if len(args) != 1: raise InterpreterException('compiles method takes exactly one argument.') - check_stringlist(args) code = args[0] + if isinstance(code, mesonlib.File): + code = mesonlib.File.from_absolute_file( + code.rel_to_builddir(self.environment.source_dir)) + elif not isinstance(code, str): + raise InvalidArguments('Argument must be string or file.') testname = kwargs.get('name', '') if not isinstance(testname, str): raise InterpreterException('Testname argument must be a string.') @@ -839,8 +847,12 @@ class CompilerHolder(InterpreterObject): def links_method(self, args, kwargs): if len(args) != 1: raise InterpreterException('links method takes exactly one argument.') - check_stringlist(args) code = args[0] + if isinstance(code, mesonlib.File): + code = mesonlib.File.from_absolute_file( + code.rel_to_builddir(self.environment.source_dir)) + elif not isinstance(code, str): + raise InvalidArguments('Argument must be string or file.') testname = kwargs.get('name', '') if not isinstance(testname, str): raise InterpreterException('Testname argument must be a string.') |