diff options
| -rw-r--r-- | mesonbuild/compilers/compilers.py | 10 | ||||
| -rw-r--r-- | mesonbuild/compilers/d.py | 7 | ||||
| -rw-r--r-- | mesonbuild/compilers/fortran.py | 3 | ||||
| -rw-r--r-- | mesonbuild/compilers/mixins/clike.py | 6 | ||||
| -rw-r--r-- | mesonbuild/interpreter/compiler.py | 3 |
5 files changed, 13 insertions, 16 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index cd8716540..d53970e36 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -678,20 +678,20 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[bool, bool]: raise EnvironmentException('Language %s does not support header symbol checks.' % self.get_display_language()) - def run(self, code: 'mesonlib.FileOrString', env: 'Environment', + def run(self, code: 'mesonlib.FileOrString', extra_args: T.Union[T.List[str], T.Callable[[CompileCheckMode], T.List[str]], None] = None, dependencies: T.Optional[T.List['Dependency']] = None, run_env: T.Optional[T.Dict[str, str]] = None, run_cwd: T.Optional[str] = None) -> RunResult: - need_exe_wrapper = env.need_exe_wrapper(self.for_machine) - if need_exe_wrapper and not env.has_exe_wrapper(): + need_exe_wrapper = self.environment.need_exe_wrapper(self.for_machine) + if need_exe_wrapper and not self.environment.has_exe_wrapper(): raise CrossNoRunException('Can not run test applications in this cross environment.') with self._build_wrapper(code, extra_args, dependencies, mode=CompileCheckMode.LINK, want_output=True) as p: if p.returncode != 0: mlog.debug(f'Could not compile test file {p.input_name}: {p.returncode}\n') return RunResult(False) if need_exe_wrapper: - cmdlist = env.exe_wrapper.get_command() + [p.output_name] + cmdlist = self.environment.exe_wrapper.get_command() + [p.output_name] else: cmdlist = [p.output_name] try: @@ -728,7 +728,7 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): mlog.debug('Cached run stdout:\n', p.stdout) mlog.debug('Cached run stderr:\n', p.stderr) else: - p = self.run(code, self.environment, extra_args=extra_args, dependencies=dependencies) + p = self.run(code, extra_args=extra_args, dependencies=dependencies) run_check_cache[key] = p return p diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py index ce1784f53..b32b43355 100644 --- a/mesonbuild/compilers/d.py +++ b/mesonbuild/compilers/d.py @@ -567,13 +567,13 @@ class DCompiler(Compiler): args.append(extra_args) return args - def run(self, code: 'mesonlib.FileOrString', env: 'Environment', + def run(self, code: 'mesonlib.FileOrString', extra_args: T.Union[T.List[str], T.Callable[[CompileCheckMode], T.List[str]], None] = None, dependencies: T.Optional[T.List['Dependency']] = None, run_env: T.Optional[T.Dict[str, str]] = None, run_cwd: T.Optional[str] = None) -> compilers.RunResult: extra_args = self._get_compile_extra_args(extra_args) - return super().run(code, env, extra_args, dependencies, run_env, run_cwd) + return super().run(code, extra_args, dependencies, run_env, run_cwd) def sizeof(self, typename: str, prefix: str, *, extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]] = None, @@ -607,8 +607,7 @@ class DCompiler(Compiler): writeln(({typename}).alignof); }} ''' - res = self.run(t, self.environment, extra_args=extra_args, - dependencies=dependencies) + res = self.run(t, extra_args=extra_args, dependencies=dependencies) if not res.compiled: raise mesonlib.EnvironmentException('Could not compile alignment test.') if res.returncode != 0: diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py index 81320816e..e22f97f0e 100644 --- a/mesonbuild/compilers/fortran.py +++ b/mesonbuild/compilers/fortran.py @@ -199,8 +199,7 @@ class FortranCompiler(CLikeCompiler, Compiler): print '(i0)', {expression} end program test ''' - res = self.run(t, env, extra_args=extra_args, - dependencies=dependencies) + res = self.run(t, extra_args=extra_args, dependencies=dependencies) if not res.compiled: return -1 if res.returncode != 0: diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py index 9ff07a413..700ae66de 100644 --- a/mesonbuild/compilers/mixins/clike.py +++ b/mesonbuild/compilers/mixins/clike.py @@ -469,7 +469,7 @@ class CLikeCompiler(Compiler): #include <stdio.h> #include <stdint.h> int main(void) {{ int expression = {expanded}; printf("%d", expression); return 0; }}''' - run = env.coredata.compilers.build[self.language].run(evaluate_expanded, env) + run = env.coredata.compilers.build[self.language].run(evaluate_expanded) if run and run.compiled and run.returncode == 0: if self._compile_int(f'{expression} == {run.stdout}', prefix, env, extra_args, dependencies): return int(run.stdout) @@ -529,7 +529,7 @@ class CLikeCompiler(Compiler): printf("%ld\\n", (long)({expression})); return 0; }}''' - res = self.run(t, env, extra_args=extra_args, + res = self.run(t, extra_args=extra_args, dependencies=dependencies) if not res.compiled: return -1 @@ -695,7 +695,7 @@ class CLikeCompiler(Compiler): printf ("{fmt}", {cast} {fname}()); return 0; }}''' - res = self.run(code, self.environment, extra_args=extra_args, dependencies=dependencies) + res = self.run(code, extra_args=extra_args, dependencies=dependencies) if not res.compiled: raise mesonlib.EnvironmentException(f'Could not get return value of {fname}()') if rtype == 'string': diff --git a/mesonbuild/interpreter/compiler.py b/mesonbuild/interpreter/compiler.py index 9629cdc6d..77e7cad43 100644 --- a/mesonbuild/interpreter/compiler.py +++ b/mesonbuild/interpreter/compiler.py @@ -284,8 +284,7 @@ class CompilerHolder(ObjectHolder['Compiler']): code.rel_to_builddir(self.environment.source_dir)) extra_args = functools.partial(self._determine_args, kwargs) deps, msg = self._determine_dependencies(kwargs['dependencies'], compile_only=False, endl=None) - result = self.compiler.run(code, self.environment, extra_args=extra_args, - dependencies=deps) + result = self.compiler.run(code, extra_args=extra_args, dependencies=deps) if required and result.returncode != 0: raise InterpreterException(f'Could not run {testname if testname else "code"}') |
