diff options
author | Paulo Antonio Alvarez <pauloaalvarez@gmail.com> | 2016-11-11 07:40:22 -0200 |
---|---|---|
committer | Paulo Antonio Alvarez <pauloaalvarez@gmail.com> | 2016-11-11 08:11:43 -0200 |
commit | 1e54a5e73ccd172cee65a10c619a23c28f598f6e (patch) | |
tree | 45a3e0978da33f0f8cabaf3d91a9809e24107116 | |
parent | 582e1ede806bb6e540eb9d87ac86c06f88f67d12 (diff) | |
download | meson-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.py | 4 |
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) |