|
|
|
@ -585,12 +585,20 @@ class Environment: |
|
|
|
|
self.default_objc = ['cc', 'gcc'] |
|
|
|
|
self.default_objcpp = ['c++', 'g++'] |
|
|
|
|
self.default_cs = ['csc', 'mcs'] |
|
|
|
|
else: |
|
|
|
|
if platform.machine().lower() == 'e2k': |
|
|
|
|
# There are no objc or objc++ compilers for Elbrus, |
|
|
|
|
# and there's no clang which can build binaries for host. |
|
|
|
|
self.default_c = ['cc', 'gcc', 'lcc'] |
|
|
|
|
self.default_cpp = ['c++', 'g++', 'l++'] |
|
|
|
|
self.default_objc = [] |
|
|
|
|
self.default_objcpp = [] |
|
|
|
|
else: |
|
|
|
|
self.default_c = ['cc', 'gcc', 'clang', 'pgcc', 'icc'] |
|
|
|
|
self.default_cpp = ['c++', 'g++', 'clang++', 'pgc++', 'icpc'] |
|
|
|
|
self.default_fortran = ['gfortran', 'flang', 'pgfortran', 'ifort', 'g95'] |
|
|
|
|
self.default_objc = ['cc', 'gcc', 'clang'] |
|
|
|
|
self.default_objcpp = ['c++', 'g++', 'clang++'] |
|
|
|
|
self.default_fortran = ['gfortran', 'flang', 'pgfortran', 'ifort', 'g95'] |
|
|
|
|
self.default_cs = ['mcs', 'csc'] |
|
|
|
|
self.default_d = ['ldc2', 'ldc', 'gdc', 'dmd'] |
|
|
|
|
self.default_java = ['javac'] |
|
|
|
@ -939,6 +947,7 @@ class Environment: |
|
|
|
|
cls = GnuCCompiler if lang == 'c' else GnuCPPCompiler |
|
|
|
|
|
|
|
|
|
linker = self._guess_nix_linker(compiler, cls, for_machine) |
|
|
|
|
|
|
|
|
|
return cls( |
|
|
|
|
ccache + compiler, version, for_machine, is_cross, |
|
|
|
|
info, exe_wrap, defines, full_version=full_version, |
|
|
|
@ -1258,7 +1267,7 @@ class Environment: |
|
|
|
|
popen_exceptions[' '.join(compiler + arg)] = e |
|
|
|
|
continue |
|
|
|
|
version = search_version(out) |
|
|
|
|
if 'Free Software Foundation' in out or ('e2k' in out and 'lcc' in out): |
|
|
|
|
if 'Free Software Foundation' in out: |
|
|
|
|
defines = self.get_gnu_compiler_defines(compiler) |
|
|
|
|
if not defines: |
|
|
|
|
popen_exceptions[' '.join(compiler)] = 'no pre-processor defines' |
|
|
|
|