parent
15078112f9
commit
11f76c2fc7
|
@ -1586,6 +1586,15 @@ You probably should put it in link_with instead.''')
|
|||
|
||||
# Languages used by dependencies
|
||||
dep_langs = self.get_langs_used_by_deps()
|
||||
|
||||
# This set contains all the languages a linker can link natively
|
||||
# without extra flags. For instance, nvcc (cuda) can link C++
|
||||
# without injecting -lc++/-lstdc++, see
|
||||
# https://github.com/mesonbuild/meson/issues/10570
|
||||
MASK_LANGS = frozenset([
|
||||
# (language, linker)
|
||||
('cpp', 'cuda'),
|
||||
])
|
||||
# Pick a compiler based on the language priority-order
|
||||
for l in clink_langs:
|
||||
if l in self.compilers or l in dep_langs:
|
||||
|
@ -1598,7 +1607,7 @@ You probably should put it in link_with instead.''')
|
|||
'a project language.')
|
||||
stdlib_args: T.List[str] = []
|
||||
for dl in itertools.chain(self.compilers, dep_langs):
|
||||
if dl != linker.language:
|
||||
if dl != linker.language and (dl, linker.language) not in MASK_LANGS:
|
||||
stdlib_args += all_compilers[dl].language_stdlib_only_link_flags(self.environment)
|
||||
# Type of var 'linker' is Compiler.
|
||||
# Pretty hard to fix because the return value is passed everywhere
|
||||
|
|
Loading…
Reference in New Issue