diff options
author | michaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-07 07:46:52 +0000 |
---|---|---|
committer | michaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-07 07:46:52 +0000 |
commit | 2be867b9387a1008ead447305c0353aad606c6c3 (patch) | |
tree | 411ddf9fc11c2bf78b44d48a60f21541c3eeca10 /build/compiler_version.py | |
parent | fa39c6d859a23a786fecbc07ff7b18c6d11a6e9c (diff) | |
download | chromium_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-x | build/compiler_version.py | 49 |
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 |