Fix detection of D linker in MSVC environments

Rather than trying to figure out if we're using MSVC based on
environment variables, then trying to get the C compiler and test some
attributes, get the C compiler and see if it's MSVC. This is much more
reliable and we were already doing it anyway.
pull/6207/head
Dylan Baker 5 years ago
parent 52aa24e997
commit 5a83cb0d33
  1. 9
      mesonbuild/environment.py

@ -1339,10 +1339,11 @@ class Environment:
info = self.machines[for_machine]
# Detect the target architecture, required for proper architecture handling on Windows.
c_compiler = {}
is_msvc = mesonlib.is_windows() and 'VCINSTALLDIR' in os.environ
if is_msvc:
c_compiler = {'c': self.detect_c_compiler(for_machine)} # MSVC compiler is required for correct platform detection.
# MSVC compiler is required for correct platform detection.
c_compiler = {'c': self.detect_c_compiler(for_machine)}
is_msvc = isinstance(c_compiler['c'], VisualStudioCCompiler)
if not is_msvc:
c_compiler = {}
arch = detect_cpu_family(c_compiler)
if is_msvc and arch == 'x86':

Loading…
Cancel
Save