environment: Fix initialization of compilers that don't use a
_guess_linker method Fixes #6448
This commit is contained in:
parent
712b2f08c7
commit
a55e3434c5
|
@ -946,6 +946,7 @@ class Environment:
|
||||||
|
|
||||||
if 'Emscripten' in out:
|
if 'Emscripten' in out:
|
||||||
cls = EmscriptenCCompiler if lang == 'c' else EmscriptenCPPCompiler
|
cls = EmscriptenCCompiler if lang == 'c' else EmscriptenCPPCompiler
|
||||||
|
self.coredata.add_lang_args(cls.language, cls, for_machine, self)
|
||||||
return cls(
|
return cls(
|
||||||
ccache + compiler, version, for_machine, is_cross, info,
|
ccache + compiler, version, for_machine, is_cross, info,
|
||||||
exe_wrap, full_version=full_version)
|
exe_wrap, full_version=full_version)
|
||||||
|
@ -966,6 +967,7 @@ class Environment:
|
||||||
full_version = arm_ver_str
|
full_version = arm_ver_str
|
||||||
cls = ArmclangCCompiler if lang == 'c' else ArmclangCPPCompiler
|
cls = ArmclangCCompiler if lang == 'c' else ArmclangCPPCompiler
|
||||||
linker = ArmClangDynamicLinker(for_machine, version=version)
|
linker = ArmClangDynamicLinker(for_machine, version=version)
|
||||||
|
self.coredata.add_lang_args(cls.language, cls, for_machine, self)
|
||||||
return cls(
|
return cls(
|
||||||
ccache + compiler, version, for_machine, is_cross, info,
|
ccache + compiler, version, for_machine, is_cross, info,
|
||||||
exe_wrap, full_version=full_version, linker=linker)
|
exe_wrap, full_version=full_version, linker=linker)
|
||||||
|
@ -1061,12 +1063,14 @@ class Environment:
|
||||||
exe_wrap, full_version=full_version, linker=l)
|
exe_wrap, full_version=full_version, linker=l)
|
||||||
if 'ARM' in out:
|
if 'ARM' in out:
|
||||||
cls = ArmCCompiler if lang == 'c' else ArmCPPCompiler
|
cls = ArmCCompiler if lang == 'c' else ArmCPPCompiler
|
||||||
|
self.coredata.add_lang_args(cls.language, cls, for_machine, self)
|
||||||
linker = ArmDynamicLinker(for_machine, version=version)
|
linker = ArmDynamicLinker(for_machine, version=version)
|
||||||
return cls(
|
return cls(
|
||||||
ccache + compiler, version, for_machine, is_cross,
|
ccache + compiler, version, for_machine, is_cross,
|
||||||
info, exe_wrap, full_version=full_version, linker=linker)
|
info, exe_wrap, full_version=full_version, linker=linker)
|
||||||
if 'RX Family' in out:
|
if 'RX Family' in out:
|
||||||
cls = CcrxCCompiler if lang == 'c' else CcrxCPPCompiler
|
cls = CcrxCCompiler if lang == 'c' else CcrxCPPCompiler
|
||||||
|
self.coredata.add_lang_args(cls.language, cls, for_machine, self)
|
||||||
linker = CcrxDynamicLinker(for_machine, version=version)
|
linker = CcrxDynamicLinker(for_machine, version=version)
|
||||||
return cls(
|
return cls(
|
||||||
ccache + compiler, version, for_machine, is_cross, info,
|
ccache + compiler, version, for_machine, is_cross, info,
|
||||||
|
@ -1419,6 +1423,7 @@ class Environment:
|
||||||
compiler.extend(['-C', 'linker={}'.format(c)])
|
compiler.extend(['-C', 'linker={}'.format(c)])
|
||||||
compiler.extend(['-C', 'link-args={}'.format(' '.join(cc.use_linker_args(override[0])))])
|
compiler.extend(['-C', 'link-args={}'.format(' '.join(cc.use_linker_args(override[0])))])
|
||||||
|
|
||||||
|
self.coredata.add_lang_args(RustCompiler.language, RustCompiler, for_machine, self)
|
||||||
return RustCompiler(
|
return RustCompiler(
|
||||||
compiler, version, for_machine, is_cross, info, exe_wrap,
|
compiler, version, for_machine, is_cross, info, exe_wrap,
|
||||||
linker=linker)
|
linker=linker)
|
||||||
|
|
Loading…
Reference in New Issue