aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/environment.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-11-12 11:28:46 -0500
committerGitHub <noreply@github.com>2016-11-12 11:28:46 -0500
commit4fbc5bcb4433298330192ef42a8e4c224f7a71b2 (patch)
tree9263dd673650029f8ee69ef3fc3015ac270750f1 /mesonbuild/environment.py
parent0f098c37ae3f257649eae7566391ad74b7010c45 (diff)
parent1e54a5e73ccd172cee65a10c619a23c28f598f6e (diff)
downloadmeson-4fbc5bcb4433298330192ef42a8e4c224f7a71b2.zip
meson-4fbc5bcb4433298330192ef42a8e4c224f7a71b2.tar.gz
meson-4fbc5bcb4433298330192ef42a8e4c224f7a71b2.tar.bz2
Merge pull request #1019 from alvarez86/gcc_dump_version
Gcc dump version
Diffstat (limited to 'mesonbuild/environment.py')
-rw-r--r--mesonbuild/environment.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index f7045f4..405685c 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -331,6 +331,13 @@ class Environment():
if len(rest) == 2:
defines[rest[0]] = rest[1]
return defines
+ @staticmethod
+ def get_gnu_version_from_defines(defines):
+ dot = '.'
+ major = defines.get('__GNUC__', '0')
+ minor = defines.get('__GNUC_MINOR__', '0')
+ patch = defines.get('__GNUC_PATCHLEVEL__', '0')
+ return dot.join((major, minor, patch))
@staticmethod
def get_gnu_compiler_type(defines):
@@ -385,6 +392,7 @@ class Environment():
popen_exceptions[compiler] = 'no pre-processor defines'
continue
gtype = self.get_gnu_compiler_type(defines)
+ version = self.get_gnu_version_from_defines(defines)
return GnuCCompiler(ccache + [compiler], version, gtype, is_cross, exe_wrap, defines)
if 'clang' in out:
if 'Apple' in out:
@@ -443,6 +451,7 @@ class Environment():
popen_exceptions[compiler] = 'no pre-processor defines'
continue
gtype = self.get_gnu_compiler_type(defines)
+ version = self.get_gnu_version_from_defines(defines)
return GnuFortranCompiler([compiler], version, gtype, is_cross, exe_wrap, defines)
if 'G95' in out:
@@ -524,6 +533,7 @@ class Environment():
popen_exceptions[compiler] = 'no pre-processor defines'
continue
gtype = self.get_gnu_compiler_type(defines)
+ version = self.get_gnu_version_from_defines(defines)
return GnuCPPCompiler(ccache + [compiler], version, gtype, is_cross, exe_wrap, defines)
if 'clang' in out:
if 'Apple' in out:
@@ -563,6 +573,7 @@ class Environment():
version = search_version(out)
if 'Free Software Foundation' in out:
defines = self.get_gnu_compiler_defines(exelist)
+ version = self.get_gnu_version_from_defines(defines)
return GnuObjCCompiler(exelist, version, is_cross, exe_wrap, defines)
if out.startswith('Apple LLVM'):
return ClangObjCCompiler(exelist, version, CLANG_OSX, is_cross, exe_wrap)