aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/backend')
-rw-r--r--mesonbuild/backend/ninjabackend.py5
-rw-r--r--mesonbuild/backend/vs2010backend.py4
-rw-r--r--mesonbuild/backend/vs2012backend.py9
-rw-r--r--mesonbuild/backend/vs2013backend.py6
-rw-r--r--mesonbuild/backend/vs2015backend.py9
-rw-r--r--mesonbuild/backend/vs2017backend.py7
-rw-r--r--mesonbuild/backend/vs2019backend.py7
-rw-r--r--mesonbuild/backend/vs2022backend.py7
-rw-r--r--mesonbuild/backend/xcodebackend.py11
9 files changed, 44 insertions, 21 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 178dce9..24b7e3c 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -49,11 +49,12 @@ from ..mesonlib import (
)
from ..mesonlib import get_compiler_for_source, has_path_sep, OptionKey
from .backends import CleanTrees
-from ..build import GeneratedList, InvalidArguments, ExtractedObjects
-from ..interpreter import Interpreter
+from ..build import GeneratedList, InvalidArguments
if T.TYPE_CHECKING:
from .._typing import ImmutableListProtocol
+ from ..build import ExtractedObjects
+ from ..interpreter import Interpreter
from ..linkers import DynamicLinker, StaticLinker
from ..compilers.cs import CsCompiler
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py
index 9d3f6c5..fd95a6a 100644
--- a/mesonbuild/backend/vs2010backend.py
+++ b/mesonbuild/backend/vs2010backend.py
@@ -27,12 +27,14 @@ from .. import build
from .. import dependencies
from .. import mlog
from .. import compilers
-from ..interpreter import Interpreter
from ..mesonlib import (
File, MesonException, replace_if_different, OptionKey, version_compare, MachineChoice
)
from ..environment import Environment, build_filename
+if T.TYPE_CHECKING:
+ from ..interpreter import Interpreter
+
def autodetect_vs_version(build: T.Optional[build.Build], interpreter: T.Optional[Interpreter]) -> backends.Backend:
vs_version = os.getenv('VisualStudioVersion', None)
diff --git a/mesonbuild/backend/vs2012backend.py b/mesonbuild/backend/vs2012backend.py
index ee2f022..af8d5df 100644
--- a/mesonbuild/backend/vs2012backend.py
+++ b/mesonbuild/backend/vs2012backend.py
@@ -11,13 +11,16 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import annotations
+
+import typing as T
from .vs2010backend import Vs2010Backend
from ..mesonlib import MesonException
-from ..interpreter import Interpreter
-from ..build import Build
-import typing as T
+if T.TYPE_CHECKING:
+ from ..build import Build
+ from ..interpreter import Interpreter
class Vs2012Backend(Vs2010Backend):
def __init__(self, build: T.Optional[Build], interpreter: T.Optional[Interpreter]):
diff --git a/mesonbuild/backend/vs2013backend.py b/mesonbuild/backend/vs2013backend.py
index 37724db..44d45d6 100644
--- a/mesonbuild/backend/vs2013backend.py
+++ b/mesonbuild/backend/vs2013backend.py
@@ -11,13 +11,15 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import annotations
from .vs2010backend import Vs2010Backend
from ..mesonlib import MesonException
-from ..interpreter import Interpreter
-from ..build import Build
import typing as T
+if T.TYPE_CHECKING:
+ from ..build import Build
+ from ..interpreter import Interpreter
class Vs2013Backend(Vs2010Backend):
def __init__(self, build: T.Optional[Build], interpreter: T.Optional[Interpreter]):
diff --git a/mesonbuild/backend/vs2015backend.py b/mesonbuild/backend/vs2015backend.py
index 4952caf..25e0a5e 100644
--- a/mesonbuild/backend/vs2015backend.py
+++ b/mesonbuild/backend/vs2015backend.py
@@ -11,13 +11,16 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import annotations
+
+import typing as T
from .vs2010backend import Vs2010Backend
from ..mesonlib import MesonException
-from ..interpreter import Interpreter
-from ..build import Build
-import typing as T
+if T.TYPE_CHECKING:
+ from ..build import Build
+ from ..interpreter import Interpreter
class Vs2015Backend(Vs2010Backend):
def __init__(self, build: T.Optional[Build], interpreter: T.Optional[Interpreter]):
diff --git a/mesonbuild/backend/vs2017backend.py b/mesonbuild/backend/vs2017backend.py
index e9f949d..4ed5e48 100644
--- a/mesonbuild/backend/vs2017backend.py
+++ b/mesonbuild/backend/vs2017backend.py
@@ -11,6 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import annotations
import os
import typing as T
@@ -18,8 +19,10 @@ import xml.etree.ElementTree as ET
from .vs2010backend import Vs2010Backend
from ..mesonlib import MesonException
-from ..interpreter import Interpreter
-from ..build import Build
+
+if T.TYPE_CHECKING:
+ from ..build import Build
+ from ..interpreter import Interpreter
class Vs2017Backend(Vs2010Backend):
diff --git a/mesonbuild/backend/vs2019backend.py b/mesonbuild/backend/vs2019backend.py
index 1efadcd..0734336 100644
--- a/mesonbuild/backend/vs2019backend.py
+++ b/mesonbuild/backend/vs2019backend.py
@@ -11,14 +11,17 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import annotations
import os
import typing as T
import xml.etree.ElementTree as ET
from .vs2010backend import Vs2010Backend
-from ..interpreter import Interpreter
-from ..build import Build
+
+if T.TYPE_CHECKING:
+ from ..build import Build
+ from ..interpreter import Interpreter
class Vs2019Backend(Vs2010Backend):
diff --git a/mesonbuild/backend/vs2022backend.py b/mesonbuild/backend/vs2022backend.py
index b0925a4..b1f93c3 100644
--- a/mesonbuild/backend/vs2022backend.py
+++ b/mesonbuild/backend/vs2022backend.py
@@ -11,14 +11,17 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import annotations
import os
import typing as T
import xml.etree.ElementTree as ET
from .vs2010backend import Vs2010Backend
-from ..interpreter import Interpreter
-from ..build import Build
+
+if T.TYPE_CHECKING:
+ from ..build import Build
+ from ..interpreter import Interpreter
class Vs2022Backend(Vs2010Backend):
diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py
index 46f3b14..326c4b6 100644
--- a/mesonbuild/backend/xcodebackend.py
+++ b/mesonbuild/backend/xcodebackend.py
@@ -11,17 +11,20 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import annotations
+
+import uuid, os, operator
+import typing as T
from . import backends
from .. import build
from .. import dependencies
from .. import mesonlib
from .. import mlog
-import uuid, os, operator
-import typing as T
-
from ..mesonlib import MesonException, OptionKey
-from ..interpreter import Interpreter
+
+if T.TYPE_CHECKING:
+ from ..interpreter import Interpreter
INDENT = '\t'
XCODETYPEMAP = {'c': 'sourcecode.c.c',