linkers: move linkers.py into the linkers package

pull/8933/head
Daniel Mensinger 4 years ago
parent d3d95d39be
commit 0f237b8d1d
  1. 115
      mesonbuild/linkers/__init__.py
  2. 16
      mesonbuild/linkers/linkers.py
  3. 2
      run_mypy.py

@ -0,0 +1,115 @@
# Copyright 2012-2021 The Meson development team
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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 .linkers import (
RSPFileSyntax,
StaticLinker,
VisualStudioLikeLinker,
VisualStudioLinker,
IntelVisualStudioLinker,
ArLinker,
ArmarLinker,
DLinker,
CcrxLinker,
Xc16Linker,
CompCertLinker,
C2000Linker,
AIXArLinker,
PGIStaticLinker,
NvidiaHPC_StaticLinker,
DynamicLinker,
PosixDynamicLinkerMixin,
GnuLikeDynamicLinkerMixin,
AppleDynamicLinker,
GnuDynamicLinker,
GnuGoldDynamicLinker,
GnuBFDDynamicLinker,
LLVMDynamicLinker,
WASMDynamicLinker,
CcrxDynamicLinker,
Xc16DynamicLinker,
CompCertDynamicLinker,
C2000DynamicLinker,
ArmDynamicLinker,
ArmClangDynamicLinker,
QualcommLLVMDynamicLinker,
PGIDynamicLinker,
NvidiaHPC_DynamicLinker,
VisualStudioLikeLinkerMixin,
MSVCDynamicLinker,
ClangClDynamicLinker,
XilinkDynamicLinker,
SolarisDynamicLinker,
AIXDynamicLinker,
OptlinkDynamicLinker,
CudaLinker,
prepare_rpaths,
order_rpaths,
evaluate_rpath,
)
__all__ = [
'RSPFileSyntax',
'StaticLinker',
'VisualStudioLikeLinker',
'VisualStudioLinker',
'IntelVisualStudioLinker',
'ArLinker',
'ArmarLinker',
'DLinker',
'CcrxLinker',
'Xc16Linker',
'CompCertLinker',
'C2000Linker',
'AIXArLinker',
'PGIStaticLinker',
'NvidiaHPC_StaticLinker',
'DynamicLinker',
'PosixDynamicLinkerMixin',
'GnuLikeDynamicLinkerMixin',
'AppleDynamicLinker',
'GnuDynamicLinker',
'GnuGoldDynamicLinker',
'GnuBFDDynamicLinker',
'LLVMDynamicLinker',
'WASMDynamicLinker',
'CcrxDynamicLinker',
'Xc16DynamicLinker',
'CompCertDynamicLinker',
'C2000DynamicLinker',
'ArmDynamicLinker',
'ArmClangDynamicLinker',
'QualcommLLVMDynamicLinker',
'PGIDynamicLinker',
'NvidiaHPC_DynamicLinker',
'VisualStudioLikeLinkerMixin',
'MSVCDynamicLinker',
'ClangClDynamicLinker',
'XilinkDynamicLinker',
'SolarisDynamicLinker',
'AIXDynamicLinker',
'OptlinkDynamicLinker',
'CudaLinker',
'prepare_rpaths',
'order_rpaths',
'evaluate_rpath',
]

@ -17,13 +17,13 @@ import enum
import os
import typing as T
from . import mesonlib
from .arglist import CompilerArgs
from .. import mesonlib
from ..arglist import CompilerArgs
if T.TYPE_CHECKING:
from .coredata import KeyedOptionDictType
from .environment import Environment
from .mesonlib import MachineChoice
from ..coredata import KeyedOptionDictType
from ..environment import Environment
from ..mesonlib import MachineChoice
@enum.unique
@ -136,12 +136,12 @@ class VisualStudioLikeLinker:
@classmethod
def unix_args_to_native(cls, args: T.List[str]) -> T.List[str]:
from .compilers import VisualStudioCCompiler
from ..compilers import VisualStudioCCompiler
return VisualStudioCCompiler.unix_args_to_native(args)
@classmethod
def native_args_to_unix(cls, args: T.List[str]) -> T.List[str]:
from .compilers import VisualStudioCCompiler
from ..compilers import VisualStudioCCompiler
return VisualStudioCCompiler.native_args_to_unix(args)
def rsp_file_syntax(self) -> RSPFileSyntax:
@ -1414,7 +1414,7 @@ class CudaLinker(PosixDynamicLinkerMixin, DynamicLinker):
# nvcc's --library= option doesn't help: it takes the library name without the
# extension and assumes that the extension on Windows is .lib; prefixing the
# library with -Xlinker= seems to work.
from .compilers import CudaCompiler
from ..compilers import CudaCompiler
return CudaCompiler.LINKER_PREFIX
def fatal_warnings(self) -> T.List[str]:

@ -16,6 +16,7 @@ modules = [
'mesonbuild/compilers',
'mesonbuild/dependencies',
'mesonbuild/interpreterbase',
'mesonbuild/linkers',
'mesonbuild/scripts',
'mesonbuild/wrap',
@ -24,7 +25,6 @@ modules = [
# 'mesonbuild/coredata.py',
'mesonbuild/envconfig.py',
'mesonbuild/interpreter/interpreterobjects.py',
'mesonbuild/linkers.py',
'mesonbuild/mcompile.py',
'mesonbuild/mdevenv.py',
'mesonbuild/mesonlib/platform.py',

Loading…
Cancel
Save