diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2020-10-01 13:02:08 -0700 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2021-03-19 08:47:10 -0400 |
commit | 40e3577a65ac688814eff1239fa38b86aad19ee8 (patch) | |
tree | 8329ecb3418c58c43ef7ccf1c0f354aab530ed5f /mesonbuild/backend/backends.py | |
parent | f7b0238ed67fc0c9e3cef38090983e33b40fa205 (diff) | |
download | meson-40e3577a65ac688814eff1239fa38b86aad19ee8.zip meson-40e3577a65ac688814eff1239fa38b86aad19ee8.tar.gz meson-40e3577a65ac688814eff1239fa38b86aad19ee8.tar.bz2 |
split program related classes and functions out of dependencies
Dependencies is already a large and complicated package without adding
programs to the list. This also allows us to untangle a bit of spaghetti
that we have.
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r-- | mesonbuild/backend/backends.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index e2297a3..9624ed6 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -26,6 +26,7 @@ import hashlib from .. import build from .. import dependencies +from .. import programs from .. import mesonlib from .. import mlog from ..compilers import LANGUAGES_USING_LDFLAGS @@ -140,7 +141,7 @@ class ExecutableSerialisation: self.cmd_args = cmd_args self.env = env if exe_wrapper is not None: - assert(isinstance(exe_wrapper, dependencies.ExternalProgram)) + assert(isinstance(exe_wrapper, programs.ExternalProgram)) self.exe_runner = exe_wrapper self.workdir = workdir self.extra_paths = extra_paths @@ -152,7 +153,7 @@ class ExecutableSerialisation: class TestSerialisation: def __init__(self, name: str, project: str, suite: str, fname: T.List[str], - is_cross_built: bool, exe_wrapper: T.Optional[dependencies.ExternalProgram], + is_cross_built: bool, exe_wrapper: T.Optional[programs.ExternalProgram], needs_exe_wrapper: bool, is_parallel: bool, cmd_args: T.List[str], env: build.EnvironmentVariables, should_fail: bool, timeout: T.Optional[int], workdir: T.Optional[str], @@ -164,7 +165,7 @@ class TestSerialisation: self.fname = fname self.is_cross_built = is_cross_built if exe_wrapper is not None: - assert(isinstance(exe_wrapper, dependencies.ExternalProgram)) + assert(isinstance(exe_wrapper, programs.ExternalProgram)) self.exe_runner = exe_wrapper self.is_parallel = is_parallel self.cmd_args = cmd_args @@ -406,7 +407,7 @@ class Backend: env: T.Optional[build.EnvironmentVariables] = None): exe = cmd[0] cmd_args = cmd[1:] - if isinstance(exe, dependencies.ExternalProgram): + if isinstance(exe, programs.ExternalProgram): exe_cmd = exe.get_command() exe_for_machine = exe.for_machine elif isinstance(exe, build.BuildTarget): @@ -490,7 +491,7 @@ class Backend: ['--internal', 'exe', '--capture', capture, '--'] + es.cmd_args), ', '.join(reasons)) - if isinstance(exe, (dependencies.ExternalProgram, + if isinstance(exe, (programs.ExternalProgram, build.BuildTarget, build.CustomTarget)): basename = exe.name elif isinstance(exe, mesonlib.File): @@ -897,11 +898,11 @@ class Backend: arr = [] for t in sorted(tests, key=lambda tst: -1 * tst.priority): exe = t.get_exe() - if isinstance(exe, dependencies.ExternalProgram): + if isinstance(exe, programs.ExternalProgram): cmd = exe.get_command() else: cmd = [os.path.join(self.environment.get_build_dir(), self.get_target_filename(t.get_exe()))] - if isinstance(exe, (build.BuildTarget, dependencies.ExternalProgram)): + if isinstance(exe, (build.BuildTarget, programs.ExternalProgram)): test_for_machine = exe.for_machine else: # E.g. an external verifier or simulator program run on a generated executable. |