aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2023-02-06 23:29:27 -0500
committerEli Schwartz <eschwartz@archlinux.org>2023-06-26 13:10:33 -0400
commita1ef957e349583f9affdce5b5a4f094860e91037 (patch)
tree01e0fd479c9b5c47b63b779bfb698e6c0785df4e /mesonbuild/compilers
parent6fad02db04534519e96f1ba66a178c6c9735554f (diff)
downloadmeson-a1ef957e349583f9affdce5b5a4f094860e91037.zip
meson-a1ef957e349583f9affdce5b5a4f094860e91037.tar.gz
meson-a1ef957e349583f9affdce5b5a4f094860e91037.tar.bz2
linkers: delay implementations import until detect is run
This saves on a 1500-line import at startup and may be skipped entirely if no compiled languages are used. In exchange, we move the implementation to a new file that is imported instead. Followup to commit ab20eb5bbc21ae855bcd211131132d2778602bcf.
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/asm.py2
-rw-r--r--mesonbuild/compilers/c.py2
-rw-r--r--mesonbuild/compilers/compilers.py3
-rw-r--r--mesonbuild/compilers/cpp.py2
-rw-r--r--mesonbuild/compilers/cuda.py2
-rw-r--r--mesonbuild/compilers/d.py2
-rw-r--r--mesonbuild/compilers/detect.py2
-rw-r--r--mesonbuild/compilers/fortran.py2
-rw-r--r--mesonbuild/compilers/mixins/arm.py2
-rw-r--r--mesonbuild/compilers/mixins/clang.py2
-rw-r--r--mesonbuild/compilers/mixins/clike.py2
-rw-r--r--mesonbuild/compilers/objc.py2
-rw-r--r--mesonbuild/compilers/objcpp.py2
-rw-r--r--mesonbuild/compilers/rust.py2
-rw-r--r--mesonbuild/compilers/swift.py2
15 files changed, 16 insertions, 15 deletions
diff --git a/mesonbuild/compilers/asm.py b/mesonbuild/compilers/asm.py
index 17b11ba..e34b4a6 100644
--- a/mesonbuild/compilers/asm.py
+++ b/mesonbuild/compilers/asm.py
@@ -7,7 +7,7 @@ from .mixins.metrowerks import MetrowerksCompiler, mwasmarm_instruction_set_args
if T.TYPE_CHECKING:
from ..environment import Environment
- from ..linkers import DynamicLinker
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
from ..envconfig import MachineInfo
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py
index c1dafd0..d514650 100644
--- a/mesonbuild/compilers/c.py
+++ b/mesonbuild/compilers/c.py
@@ -47,7 +47,7 @@ if T.TYPE_CHECKING:
from ..dependencies import Dependency
from ..envconfig import MachineInfo
from ..environment import Environment
- from ..linkers import DynamicLinker
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
from ..programs import ExternalProgram
from .compilers import CompileCheckMode
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 76f9e0e..3fd5896 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -36,7 +36,8 @@ if T.TYPE_CHECKING:
from ..coredata import MutableKeyedOptionDictType, KeyedOptionDictType
from ..envconfig import MachineInfo
from ..environment import Environment
- from ..linkers import DynamicLinker, RSPFileSyntax
+ from ..linkers import RSPFileSyntax
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
from ..dependencies import Dependency
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
index dbdcb2f..3f8bf00 100644
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -48,7 +48,7 @@ if T.TYPE_CHECKING:
from ..dependencies import Dependency
from ..envconfig import MachineInfo
from ..environment import Environment
- from ..linkers import DynamicLinker
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
from ..programs import ExternalProgram
CompilerMixinBase = CLikeCompiler
diff --git a/mesonbuild/compilers/cuda.py b/mesonbuild/compilers/cuda.py
index bbc2fc8..8ed7fa4 100644
--- a/mesonbuild/compilers/cuda.py
+++ b/mesonbuild/compilers/cuda.py
@@ -34,7 +34,7 @@ if T.TYPE_CHECKING:
from ..dependencies import Dependency
from ..environment import Environment # noqa: F401
from ..envconfig import MachineInfo
- from ..linkers import DynamicLinker
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
from ..programs import ExternalProgram
diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py
index 4cdda00..c6e70b2 100644
--- a/mesonbuild/compilers/d.py
+++ b/mesonbuild/compilers/d.py
@@ -43,7 +43,7 @@ if T.TYPE_CHECKING:
from ..programs import ExternalProgram
from ..envconfig import MachineInfo
from ..environment import Environment
- from ..linkers import DynamicLinker
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
CompilerMixinBase = Compiler
diff --git a/mesonbuild/compilers/detect.py b/mesonbuild/compilers/detect.py
index f6d1c42..5ac19c9 100644
--- a/mesonbuild/compilers/detect.py
+++ b/mesonbuild/compilers/detect.py
@@ -36,7 +36,7 @@ if T.TYPE_CHECKING:
from .cpp import CPPCompiler
from .fortran import FortranCompiler
from .rust import RustCompiler
- from ..linkers import StaticLinker, DynamicLinker
+ from ..linkers.linkers import StaticLinker, DynamicLinker
from ..environment import Environment
from ..programs import ExternalProgram
diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py
index e767dcd..7c836b7 100644
--- a/mesonbuild/compilers/fortran.py
+++ b/mesonbuild/compilers/fortran.py
@@ -40,7 +40,7 @@ if T.TYPE_CHECKING:
from ..dependencies import Dependency
from ..envconfig import MachineInfo
from ..environment import Environment
- from ..linkers import DynamicLinker
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
from ..programs import ExternalProgram
from .compilers import CompileCheckMode
diff --git a/mesonbuild/compilers/mixins/arm.py b/mesonbuild/compilers/mixins/arm.py
index e8efae1..7c53327 100644
--- a/mesonbuild/compilers/mixins/arm.py
+++ b/mesonbuild/compilers/mixins/arm.py
@@ -19,7 +19,7 @@ import os
import typing as T
from ... import mesonlib
-from ...linkers import ArmClangDynamicLinker
+from ...linkers.linkers import ArmClangDynamicLinker
from ...mesonlib import OptionKey
from ..compilers import clike_debug_args
from .clang import clang_color_args
diff --git a/mesonbuild/compilers/mixins/clang.py b/mesonbuild/compilers/mixins/clang.py
index cdb4c23..b43b246 100644
--- a/mesonbuild/compilers/mixins/clang.py
+++ b/mesonbuild/compilers/mixins/clang.py
@@ -20,7 +20,7 @@ import shutil
import typing as T
from ... import mesonlib
-from ...linkers import AppleDynamicLinker, ClangClDynamicLinker, LLVMDynamicLinker, GnuGoldDynamicLinker, \
+from ...linkers.linkers import AppleDynamicLinker, ClangClDynamicLinker, LLVMDynamicLinker, GnuGoldDynamicLinker, \
MoldDynamicLinker
from ...mesonlib import OptionKey
from ..compilers import CompileCheckMode
diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
index 4ebec3f..2649cae 100644
--- a/mesonbuild/compilers/mixins/clike.py
+++ b/mesonbuild/compilers/mixins/clike.py
@@ -35,7 +35,7 @@ from pathlib import Path
from ... import arglist
from ... import mesonlib
from ... import mlog
-from ...linkers import GnuLikeDynamicLinkerMixin, SolarisDynamicLinker, CompCertDynamicLinker
+from ...linkers.linkers import GnuLikeDynamicLinkerMixin, SolarisDynamicLinker, CompCertDynamicLinker
from ...mesonlib import LibType
from ...coredata import OptionKey
from .. import compilers
diff --git a/mesonbuild/compilers/objc.py b/mesonbuild/compilers/objc.py
index 83dcaad..cb8eb9e 100644
--- a/mesonbuild/compilers/objc.py
+++ b/mesonbuild/compilers/objc.py
@@ -27,7 +27,7 @@ if T.TYPE_CHECKING:
from ..programs import ExternalProgram
from ..envconfig import MachineInfo
from ..environment import Environment
- from ..linkers import DynamicLinker
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
diff --git a/mesonbuild/compilers/objcpp.py b/mesonbuild/compilers/objcpp.py
index 1f9f756..530bc7c 100644
--- a/mesonbuild/compilers/objcpp.py
+++ b/mesonbuild/compilers/objcpp.py
@@ -27,7 +27,7 @@ if T.TYPE_CHECKING:
from ..programs import ExternalProgram
from ..envconfig import MachineInfo
from ..environment import Environment
- from ..linkers import DynamicLinker
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
class ObjCPPCompiler(CLikeCompiler, Compiler):
diff --git a/mesonbuild/compilers/rust.py b/mesonbuild/compilers/rust.py
index 4fc3a49..13674ed 100644
--- a/mesonbuild/compilers/rust.py
+++ b/mesonbuild/compilers/rust.py
@@ -26,7 +26,7 @@ if T.TYPE_CHECKING:
from ..coredata import MutableKeyedOptionDictType, KeyedOptionDictType
from ..envconfig import MachineInfo
from ..environment import Environment # noqa: F401
- from ..linkers import DynamicLinker
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
from ..programs import ExternalProgram
from ..dependencies import Dependency
diff --git a/mesonbuild/compilers/swift.py b/mesonbuild/compilers/swift.py
index ebf29f8..19866e2 100644
--- a/mesonbuild/compilers/swift.py
+++ b/mesonbuild/compilers/swift.py
@@ -23,7 +23,7 @@ from .compilers import Compiler, swift_buildtype_args, clike_debug_args
if T.TYPE_CHECKING:
from ..envconfig import MachineInfo
from ..environment import Environment
- from ..linkers import DynamicLinker
+ from ..linkers.linkers import DynamicLinker
from ..mesonlib import MachineChoice
swift_optimization_args = {