aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulo Antonio Alvarez <pauloaalvarez@gmail.com>2016-11-11 07:40:22 -0200
committerPaulo Antonio Alvarez <pauloaalvarez@gmail.com>2016-11-11 08:11:43 -0200
commit1e54a5e73ccd172cee65a10c619a23c28f598f6e (patch)
tree45a3e0978da33f0f8cabaf3d91a9809e24107116
parent582e1ede806bb6e540eb9d87ac86c06f88f67d12 (diff)
downloadmeson-1e54a5e73ccd172cee65a10c619a23c28f598f6e.zip
meson-1e54a5e73ccd172cee65a10c619a23c28f598f6e.tar.gz
meson-1e54a5e73ccd172cee65a10c619a23c28f598f6e.tar.bz2
environment: Use GNU defines to get version of c, c++, objc and fortran
According to https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html, the macros used to get the version are always defined for those languages, so use them to get the version.
-rw-r--r--mesonbuild/environment.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index 6d9a3a4..405685c 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -392,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:
@@ -450,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:
@@ -531,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:
@@ -570,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)