summaryrefslogtreecommitdiffstats
path: root/build/compiler_version.py
diff options
context:
space:
mode:
authormichaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-07 07:46:52 +0000
committermichaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-07 07:46:52 +0000
commit2be867b9387a1008ead447305c0353aad606c6c3 (patch)
tree411ddf9fc11c2bf78b44d48a60f21541c3eeca10 /build/compiler_version.py
parentfa39c6d859a23a786fecbc07ff7b18c6d11a6e9c (diff)
downloadchromium_src-2be867b9387a1008ead447305c0353aad606c6c3.zip
chromium_src-2be867b9387a1008ead447305c0353aad606c6c3.tar.gz
chromium_src-2be867b9387a1008ead447305c0353aad606c6c3.tar.bz2
Also detect the CXX_target enviroment vairiable for compiler version
The ninja's cross compile mode still uses CXX_target as the target compiler which needs to be detected before the host one. This CL might be reverted once the ninja use CXX as target compiler. BUG= Review URL: https://chromiumcodereview.appspot.com/10837005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150300 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/compiler_version.py')
-rwxr-xr-xbuild/compiler_version.py49
1 files changed, 35 insertions, 14 deletions
diff --git a/build/compiler_version.py b/build/compiler_version.py
index b349199..eae7b17 100755
--- a/build/compiler_version.py
+++ b/build/compiler_version.py
@@ -33,21 +33,42 @@ def GetVersion(compiler):
print >> sys.stderr, e
return ""
-def main():
- # Check if CXX environment variable exists and
- # if it does use that compiler.
- cxx = os.getenv("CXX", None)
+def GetVersionFromEnvironment(compiler_env):
+ """ Returns the version of compiler
+
+ If the compiler was set by the given environment variable and exists,
+ return its version, otherwise None is returned.
+ """
+ cxx = os.getenv(compiler_env, None)
if cxx:
- cxxversion = GetVersion(cxx)
- if cxxversion != "":
- print cxxversion
- return 0
- else:
- # Otherwise we check the g++ version.
- gccversion = GetVersion("g++")
- if gccversion != "":
- print gccversion
- return 0
+ cxx_version = GetVersion(cxx)
+ if cxx_version != "":
+ return cxx_version
+ return None
+
+def main():
+ # Check if CXX_target or CXX environment variable exists an if it does use
+ # that compiler.
+ # TODO: Fix ninja (see http://crbug.com/140900) instead and remove this code
+ # In ninja's cross compile mode, the CXX_target is target compiler, while
+ # the CXX is host. The CXX_target needs be checked first, though the target
+ # and host compiler have different version, there seems no issue to use the
+ # target compiler's version number as gcc_version in Android.
+ cxx_version = GetVersionFromEnvironment("CXX_target")
+ if cxx_version:
+ print cxx_version
+ return 0
+
+ cxx_version = GetVersionFromEnvironment("CXX")
+ if cxx_version:
+ print cxx_version
+ return 0
+
+ # Otherwise we check the g++ version.
+ gccversion = GetVersion("g++")
+ if gccversion != "":
+ print gccversion
+ return 0
return 1