diff options
| -rw-r--r-- | mesonbuild/backend/backends.py | 33 | ||||
| -rw-r--r-- | mesonbuild/backend/ninjabackend.py | 5 | ||||
| -rw-r--r-- | mesonbuild/backend/vs2010backend.py | 21 | ||||
| -rw-r--r-- | mesonbuild/backend/vs2012backend.py | 5 | ||||
| -rw-r--r-- | mesonbuild/backend/vs2013backend.py | 5 | ||||
| -rw-r--r-- | mesonbuild/backend/vs2015backend.py | 4 | ||||
| -rw-r--r-- | mesonbuild/backend/vs2017backend.py | 5 | ||||
| -rw-r--r-- | mesonbuild/backend/vs2019backend.py | 5 | ||||
| -rw-r--r-- | mesonbuild/backend/vs2022backend.py | 5 | ||||
| -rw-r--r-- | mesonbuild/backend/xcodebackend.py | 5 | ||||
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 4 |
11 files changed, 43 insertions, 54 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 28a1ee359..19f856b68 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -39,7 +39,7 @@ if T.TYPE_CHECKING: from ..arglist import CompilerArgs from ..compilers import Compiler from ..environment import Environment - from ..interpreter import Interpreter, Test + from ..interpreter import Test from ..linkers.linkers import StaticLinker from ..mesonlib import FileMode, FileOrString from ..options import ElementaryOptionValues @@ -217,47 +217,47 @@ class TestSerialisation: assert isinstance(self.exe_wrapper, programs.ExternalProgram) -def get_backend_from_name(backend: str, build: T.Optional[build.Build] = None, interpreter: T.Optional['Interpreter'] = None) -> T.Optional['Backend']: +def get_backend_from_name(backend: str, build: T.Optional[build.Build] = None) -> T.Optional['Backend']: if backend == 'ninja': from . import ninjabackend - return ninjabackend.NinjaBackend(build, interpreter) + return ninjabackend.NinjaBackend(build) elif backend == 'vs': from . import vs2010backend - return vs2010backend.autodetect_vs_version(build, interpreter) + return vs2010backend.autodetect_vs_version(build) elif backend == 'vs2010': from . import vs2010backend - return vs2010backend.Vs2010Backend(build, interpreter) + return vs2010backend.Vs2010Backend(build) elif backend == 'vs2012': from . import vs2012backend - return vs2012backend.Vs2012Backend(build, interpreter) + return vs2012backend.Vs2012Backend(build) elif backend == 'vs2013': from . import vs2013backend - return vs2013backend.Vs2013Backend(build, interpreter) + return vs2013backend.Vs2013Backend(build) elif backend == 'vs2015': from . import vs2015backend - return vs2015backend.Vs2015Backend(build, interpreter) + return vs2015backend.Vs2015Backend(build) elif backend == 'vs2017': from . import vs2017backend - return vs2017backend.Vs2017Backend(build, interpreter) + return vs2017backend.Vs2017Backend(build) elif backend == 'vs2019': from . import vs2019backend - return vs2019backend.Vs2019Backend(build, interpreter) + return vs2019backend.Vs2019Backend(build) elif backend == 'vs2022': from . import vs2022backend - return vs2022backend.Vs2022Backend(build, interpreter) + return vs2022backend.Vs2022Backend(build) elif backend == 'xcode': from . import xcodebackend - return xcodebackend.XCodeBackend(build, interpreter) + return xcodebackend.XCodeBackend(build) elif backend == 'none': from . import nonebackend - return nonebackend.NoneBackend(build, interpreter) + return nonebackend.NoneBackend(build) return None -def get_genvslite_backend(genvsname: str, build: T.Optional[build.Build] = None, interpreter: T.Optional['Interpreter'] = None) -> T.Optional['Backend']: +def get_genvslite_backend(genvsname: str, build: T.Optional[build.Build] = None) -> T.Optional['Backend']: if genvsname == 'vs2022': from . import vs2022backend - return vs2022backend.Vs2022Backend(build, interpreter, gen_lite = True) + return vs2022backend.Vs2022Backend(build, gen_lite = True) return None # This class contains the basic functionality that is needed by all backends. @@ -267,14 +267,13 @@ class Backend: environment: T.Optional['Environment'] name = '<UNKNOWN>' - def __init__(self, build: T.Optional[build.Build], interpreter: T.Optional['Interpreter']): + def __init__(self, build: T.Optional[build.Build]): # Make it possible to construct a dummy backend # This is used for introspection without a build directory if build is None: self.environment = None return self.build = build - self.interpreter = interpreter self.environment = build.environment self.processed_targets: T.Set[str] = set() self.build_dir = self.environment.get_build_dir() diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 166b118e3..3fd82a85b 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -41,7 +41,6 @@ if T.TYPE_CHECKING: from .._typing import ImmutableListProtocol from ..build import ExtractedObjects, LibTypes - from ..interpreter import Interpreter from ..linkers.linkers import DynamicLinker, StaticLinker from ..compilers.cs import CsCompiler from ..compilers.fortran import FortranCompiler @@ -479,8 +478,8 @@ class RustCrate: class NinjaBackend(backends.Backend): - def __init__(self, build: T.Optional[build.Build], interpreter: T.Optional[Interpreter]): - super().__init__(build, interpreter) + def __init__(self, build: T.Optional[build.Build]): + super().__init__(build) self.name = 'ninja' self.ninja_filename = 'build.ninja' self.fortran_deps: T.Dict[str, T.Dict[str, File]] = {} diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index adcb2543e..be88eb7fd 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -28,11 +28,10 @@ from .. import coredata if T.TYPE_CHECKING: from ..arglist import CompilerArgs - from ..interpreter import Interpreter Project = T.Tuple[str, Path, str, MachineChoice] -def autodetect_vs_version(build: T.Optional[build.Build], interpreter: T.Optional[Interpreter]) -> backends.Backend: +def autodetect_vs_version(build: T.Optional[build.Build]) -> backends.Backend: vs_version = os.getenv('VisualStudioVersion', None) vs_install_dir = os.getenv('VSINSTALLDIR', None) if not vs_install_dir: @@ -42,27 +41,27 @@ def autodetect_vs_version(build: T.Optional[build.Build], interpreter: T.Optiona # vcvarsall.bat doesn't set it, so also use VSINSTALLDIR if vs_version == '11.0' or 'Visual Studio 11' in vs_install_dir: from mesonbuild.backend.vs2012backend import Vs2012Backend - return Vs2012Backend(build, interpreter) + return Vs2012Backend(build) if vs_version == '12.0' or 'Visual Studio 12' in vs_install_dir: from mesonbuild.backend.vs2013backend import Vs2013Backend - return Vs2013Backend(build, interpreter) + return Vs2013Backend(build) if vs_version == '14.0' or 'Visual Studio 14' in vs_install_dir: from mesonbuild.backend.vs2015backend import Vs2015Backend - return Vs2015Backend(build, interpreter) + return Vs2015Backend(build) if vs_version == '15.0' or 'Visual Studio 17' in vs_install_dir or \ 'Visual Studio\\2017' in vs_install_dir: from mesonbuild.backend.vs2017backend import Vs2017Backend - return Vs2017Backend(build, interpreter) + return Vs2017Backend(build) if vs_version == '16.0' or 'Visual Studio 19' in vs_install_dir or \ 'Visual Studio\\2019' in vs_install_dir: from mesonbuild.backend.vs2019backend import Vs2019Backend - return Vs2019Backend(build, interpreter) + return Vs2019Backend(build) if vs_version == '17.0' or 'Visual Studio 22' in vs_install_dir or \ 'Visual Studio\\2022' in vs_install_dir: from mesonbuild.backend.vs2022backend import Vs2022Backend - return Vs2022Backend(build, interpreter) + return Vs2022Backend(build) if 'Visual Studio 10.0' in vs_install_dir: - return Vs2010Backend(build, interpreter) + return Vs2010Backend(build) raise MesonException('Could not detect Visual Studio using VisualStudioVersion: {!r} or VSINSTALLDIR: {!r}!\n' 'Please specify the exact backend to use.'.format(vs_version, vs_install_dir)) @@ -135,8 +134,8 @@ class Vs2010Backend(backends.Backend): name = 'vs2010' - def __init__(self, build: T.Optional[build.Build], interpreter: T.Optional[Interpreter], gen_lite: bool = False): - super().__init__(build, interpreter) + def __init__(self, build: T.Optional[build.Build], gen_lite: bool = False): + super().__init__(build) self.project_file_version = '10.0.30319.1' self.sln_file_version = '11.00' self.sln_version_comment = '2010' diff --git a/mesonbuild/backend/vs2012backend.py b/mesonbuild/backend/vs2012backend.py index 922cd60d4..5ed31d92c 100644 --- a/mesonbuild/backend/vs2012backend.py +++ b/mesonbuild/backend/vs2012backend.py @@ -10,14 +10,13 @@ from ..mesonlib import MesonException if T.TYPE_CHECKING: from ..build import Build - from ..interpreter import Interpreter class Vs2012Backend(Vs2010Backend): name = 'vs2012' - def __init__(self, build: T.Optional[Build], interpreter: T.Optional[Interpreter]): - super().__init__(build, interpreter) + def __init__(self, build: T.Optional[Build]): + super().__init__(build) self.vs_version = '2012' self.sln_file_version = '12.00' self.sln_version_comment = '2012' diff --git a/mesonbuild/backend/vs2013backend.py b/mesonbuild/backend/vs2013backend.py index cf5d5980e..c53e64c0c 100644 --- a/mesonbuild/backend/vs2013backend.py +++ b/mesonbuild/backend/vs2013backend.py @@ -9,14 +9,13 @@ import typing as T if T.TYPE_CHECKING: from ..build import Build - from ..interpreter import Interpreter class Vs2013Backend(Vs2010Backend): name = 'vs2013' - def __init__(self, build: T.Optional[Build], interpreter: T.Optional[Interpreter]): - super().__init__(build, interpreter) + def __init__(self, build: T.Optional[Build]): + super().__init__(build) self.vs_version = '2013' self.sln_file_version = '12.00' self.sln_version_comment = '2013' diff --git a/mesonbuild/backend/vs2015backend.py b/mesonbuild/backend/vs2015backend.py index 1862def1a..f5a468f6f 100644 --- a/mesonbuild/backend/vs2015backend.py +++ b/mesonbuild/backend/vs2015backend.py @@ -10,14 +10,12 @@ from ..mesonlib import MesonException if T.TYPE_CHECKING: from ..build import Build - from ..interpreter import Interpreter class Vs2015Backend(Vs2010Backend): name = 'vs2015' - def __init__(self, build: T.Optional[Build], interpreter: T.Optional[Interpreter]): - super().__init__(build, interpreter) + def __init__(self, build: T.Optional[Build]): self.vs_version = '2015' self.sln_file_version = '12.00' self.sln_version_comment = '14' diff --git a/mesonbuild/backend/vs2017backend.py b/mesonbuild/backend/vs2017backend.py index 372e1ce0d..bf6c33771 100644 --- a/mesonbuild/backend/vs2017backend.py +++ b/mesonbuild/backend/vs2017backend.py @@ -12,15 +12,14 @@ from ..mesonlib import MesonException if T.TYPE_CHECKING: from ..build import Build - from ..interpreter import Interpreter class Vs2017Backend(Vs2010Backend): name = 'vs2017' - def __init__(self, build: T.Optional[Build], interpreter: T.Optional[Interpreter]): - super().__init__(build, interpreter) + def __init__(self, build: T.Optional[Build]): + super().__init__(build) self.vs_version = '2017' self.sln_file_version = '12.00' self.sln_version_comment = '15' diff --git a/mesonbuild/backend/vs2019backend.py b/mesonbuild/backend/vs2019backend.py index 61ad75d5e..bf86a4701 100644 --- a/mesonbuild/backend/vs2019backend.py +++ b/mesonbuild/backend/vs2019backend.py @@ -11,15 +11,14 @@ from .vs2010backend import Vs2010Backend if T.TYPE_CHECKING: from ..build import Build - from ..interpreter import Interpreter class Vs2019Backend(Vs2010Backend): name = 'vs2019' - def __init__(self, build: T.Optional[Build], interpreter: T.Optional[Interpreter]): - super().__init__(build, interpreter) + def __init__(self, build: T.Optional[Build]): + super().__init__(build) self.sln_file_version = '12.00' self.sln_version_comment = 'Version 16' diff --git a/mesonbuild/backend/vs2022backend.py b/mesonbuild/backend/vs2022backend.py index ca449a4e5..d7de4be32 100644 --- a/mesonbuild/backend/vs2022backend.py +++ b/mesonbuild/backend/vs2022backend.py @@ -11,15 +11,14 @@ from .vs2010backend import Vs2010Backend if T.TYPE_CHECKING: from ..build import Build - from ..interpreter import Interpreter class Vs2022Backend(Vs2010Backend): name = 'vs2022' - def __init__(self, build: T.Optional[Build], interpreter: T.Optional[Interpreter], gen_lite: bool = False): - super().__init__(build, interpreter, gen_lite=gen_lite) + def __init__(self, build: T.Optional[Build], gen_lite: bool = False): + super().__init__(build, gen_lite=gen_lite) self.sln_file_version = '12.00' self.sln_version_comment = 'Version 17' diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py index a4290d58d..7c040a613 100644 --- a/mesonbuild/backend/xcodebackend.py +++ b/mesonbuild/backend/xcodebackend.py @@ -17,7 +17,6 @@ from ..options import OptionKey if T.TYPE_CHECKING: from ..build import BuildTarget from ..compilers import Compiler - from ..interpreter import Interpreter INDENT = '\t' XCODETYPEMAP = {'c': 'sourcecode.c.c', @@ -236,8 +235,8 @@ class XCodeBackend(backends.Backend): name = 'xcode' - def __init__(self, build: T.Optional[build.Build], interpreter: T.Optional[Interpreter]): - super().__init__(build, interpreter) + def __init__(self, build: T.Optional[build.Build]): + super().__init__(build) self.project_uid = self.environment.coredata.lang_guids['default'].replace('-', '')[:24] self.buildtype = T.cast('str', self.environment.coredata.optstore.get_value_for(OptionKey('buildtype'))) self.project_conflist = self.gen_id() diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 88b3fc19a..d3a9142fe 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1158,10 +1158,10 @@ class Interpreter(InterpreterBase, HoldableObject): # Use of the '--genvslite vsxxxx' option ultimately overrides any '--backend xxx' # option the user may specify. backend_name = self.coredata.optstore.get_value_for(OptionKey('genvslite')) - self.backend = backends.get_genvslite_backend(backend_name, self.build, self) + self.backend = backends.get_genvslite_backend(backend_name, self.build) else: backend_name = self.coredata.optstore.get_value_for(OptionKey('backend')) - self.backend = backends.get_backend_from_name(backend_name, self.build, self) + self.backend = backends.get_backend_from_name(backend_name, self.build) if self.backend is None: raise InterpreterException(f'Unknown backend "{backend_name}".') |
