aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Alexeyev <akari@taisei-project.org>2019-09-24 20:01:42 +0300
committerDylan Baker <dylan@pnwbakers.com>2019-09-27 08:20:07 -0700
commit3fd460bce76cafbc55a98c143245d81c1996c59d (patch)
treebf4adad10c3f8adc70a15eaa1f4a4b581c514909
parent7dbabdc7b696aca4aadc3dfab5045a08662fdfde (diff)
downloadmeson-3fd460bce76cafbc55a98c143245d81c1996c59d.zip
meson-3fd460bce76cafbc55a98c143245d81c1996c59d.tar.gz
meson-3fd460bce76cafbc55a98c143245d81c1996c59d.tar.bz2
Fix GNU-like LLD being misdetected as MSVC-like LLD
Affects the latest version of the llvm-mingw toolchain
-rw-r--r--mesonbuild/environment.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index 42524a8..ee5b568 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -717,7 +717,10 @@ class Environment:
check_args = prefix + ['/logo'] + prefix + ['--version']
p, o, _ = Popen_safe(compiler + check_args)
if o.startswith('LLD'):
- return ClangClDynamicLinker(for_machine, exelist=compiler, prefix=prefix, version=search_version(o))
+ if '(compatible with GNU linkers)' in o:
+ return LLVMDynamicLinker(compiler, for_machine, 'lld', prefix, version=search_version(o))
+ else:
+ return ClangClDynamicLinker(for_machine, exelist=compiler, prefix=prefix, version=search_version(o))
elif o.startswith('Microsoft'):
match = re.search(r'.*(X86|X64|ARM|ARM64).*', o)
if match: