Compare commits

...

3 Commits

Author SHA1 Message Date
Dylan Baker 007ece4659 pylint: Turn on a few more good warnings 4 years ago
Dylan Baker cb0265a6b2 pylint: Catch cases of `if len(container)` which should be replaced by `if container` 4 years ago
Sebastian Meyer 35a5a69355 Some fixes for CompCert 4 years ago
  1. 8
      .pylintrc
  2. 2
      mesonbuild/backend/ninjabackend.py
  3. 2
      mesonbuild/build.py
  4. 4
      mesonbuild/compilers/mixins/clike.py
  5. 4
      mesonbuild/linkers.py

@ -6,4 +6,10 @@ score=no
[MESSAGES CONTROL]
disable=all
enable=unreachable
enable=
assert-on-tuple,
dangerous-default-value,
deprecated-lambda,
compare-to-zero,
len-as-condition,
unreachable

@ -2587,7 +2587,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
def get_link_whole_args(self, linker, target):
target_args = self.build_target_link_arguments(linker, target.link_whole_targets)
return linker.get_link_whole_for(target_args) if len(target_args) else []
return linker.get_link_whole_for(target_args) if target_args else []
@lru_cache(maxsize=None)
def guess_library_absolute_path(self, linker, libname, search_dirs, patterns):

@ -2232,7 +2232,7 @@ class CustomTarget(Target):
def get_dep_outname(self, infilenames):
if self.depfile is None:
raise InvalidArguments('Tried to get depfile name for custom_target that does not have depfile defined.')
if len(infilenames):
if infilenames:
plainname = os.path.basename(infilenames[0])
basename = os.path.splitext(plainname)[0]
return self.depfile.replace('@BASENAME@', basename).replace('@PLAINNAME@', plainname)

@ -32,7 +32,7 @@ from pathlib import Path
from ... import arglist
from ... import mesonlib
from ... import mlog
from ...linkers import GnuLikeDynamicLinkerMixin, SolarisDynamicLinker
from ...linkers import GnuLikeDynamicLinkerMixin, SolarisDynamicLinker, CompCertDynamicLinker
from ...mesonlib import LibType
from .. import compilers
from .visualstudio import VisualStudioLikeCompiler
@ -67,7 +67,7 @@ class CLikeCompilerArgs(arglist.CompilerArgs):
# This covers all ld.bfd, ld.gold, ld.gold, and xild on Linux, which
# all act like (or are) gnu ld
# TODO: this could probably be added to the DynamicLinker instead
if isinstance(self.compiler.linker, (GnuLikeDynamicLinkerMixin, SolarisDynamicLinker)):
if isinstance(self.compiler.linker, (GnuLikeDynamicLinkerMixin, SolarisDynamicLinker, CompCertDynamicLinker)):
group_start = -1
group_end = -1
for i, each in enumerate(new):

@ -900,13 +900,13 @@ class CompCertDynamicLinker(DynamicLinker):
def get_link_whole_for(self, args: T.List[str]) -> T.List[str]:
if not args:
return args
return self._apply_prefix('-WUl,--start-group') + args + self._apply_prefix('-WUl,--end-group')
return self._apply_prefix('-Wl,--whole-archive') + args + self._apply_prefix('-Wl,--no-whole-archive')
def get_accepts_rsp(self) -> bool:
return False
def get_lib_prefix(self) -> str:
return '-l'
return ''
def get_std_shared_lib_args(self) -> T.List[str]:
return []

Loading…
Cancel
Save