enable Windows Intel compiler

pull/5323/head
Michael Hirsch, Ph.D 6 years ago
parent 3a75bb5259
commit 50f2381565
  1. 17
      mesonbuild/environment.py

@ -779,9 +779,9 @@ class Environment:
return cls(compiler, version, is_cross, exe_wrap, target)
if 'PGI Compilers' in out:
if mesonlib.for_darwin(want_cross, self):
if mesonlib.for_darwin(is_cross, self):
compiler_type = CompilerType.PGI_OSX
elif mesonlib.for_windows(want_cross, self):
elif mesonlib.for_windows(is_cross, self):
compiler_type = CompilerType.PGI_WIN
else:
compiler_type = CompilerType.PGI_STANDARD
@ -864,6 +864,13 @@ class Environment:
popen_exceptions[' '.join(compiler + [arg])] = e
continue
if mesonlib.for_windows(is_cross, self):
if 'ifort' in compiler[0]:
# https://software.intel.com/en-us/cpp-compiler-developer-guide-and-reference-alphabetical-list-of-compiler-options
# https://software.intel.com/en-us/fortran-compiler-developer-guide-and-reference-logo
# most consistent way for ICL is to just let compiler error and tell version
out = err
version = search_version(out)
full_version = out.split('\n', 1)[0]
@ -894,16 +901,16 @@ class Environment:
version = search_version(err)
return SunFortranCompiler(compiler, version, is_cross, exe_wrap, full_version=full_version)
if 'ifort (IFORT)' in out:
if 'ifort (IFORT)' in out or out.startswith('Intel(R) Visual Fortran'):
return IntelFortranCompiler(compiler, version, is_cross, exe_wrap, full_version=full_version)
if 'PathScale EKOPath(tm)' in err:
return PathScaleFortranCompiler(compiler, version, is_cross, exe_wrap, full_version=full_version)
if 'PGI Compilers' in out:
if mesonlib.for_darwin(want_cross, self):
if mesonlib.for_darwin(is_cross, self):
compiler_type = CompilerType.PGI_OSX
elif mesonlib.for_windows(want_cross, self):
elif mesonlib.for_windows(is_cross, self):
compiler_type = CompilerType.PGI_WIN
else:
compiler_type = CompilerType.PGI_STANDARD

Loading…
Cancel
Save