Skip to content

Commit

Permalink
Also detect the CXX_target enviroment vairiable for compiler version
Browse files Browse the repository at this point in the history
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
  • Loading branch information
michaelbai@chromium.org committed Aug 7, 2012
1 parent fa39c6d commit 2be867b
Showing 1 changed file with 35 additions and 14 deletions.
49 changes: 35 additions & 14 deletions build/compiler_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 2be867b

Please sign in to comment.