buildman: Allow the toolchain architecture to be specified

At present the architecture is deduced from the toolchain filename. Allow it
to be specified by the caller.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com
master
Simon Glass 8 years ago
parent ff690df9fc
commit 608e399fde
  1. 17
      tools/buildman/toolchain.py

@ -54,7 +54,8 @@ class Toolchain:
component of the filename. E.g. arm-linux-gcc becomes arm
priority: Toolchain priority (0=highest, 20=lowest)
"""
def __init__(self, fname, test, verbose=False, priority=PRIORITY_CALC):
def __init__(self, fname, test, verbose=False, priority=PRIORITY_CALC,
arch=None):
"""Create a new toolchain object.
Args:
@ -75,7 +76,10 @@ class Toolchain:
# The architecture is the first part of the name
pos = self.cross.find('-')
self.arch = self.cross[:pos] if pos != -1 else 'sandbox'
if arch:
self.arch = arch
else:
self.arch = self.cross[:pos] if pos != -1 else 'sandbox'
env = self.MakeEnvironment(False)
@ -92,7 +96,8 @@ class Toolchain:
if verbose:
print 'Tool chain test: ',
if self.ok:
print 'OK, priority %d' % self.priority
print "OK, arch='%s', priority %d" % (self.arch,
self.priority)
else:
print 'BAD'
print 'Command: ', cmd
@ -179,7 +184,8 @@ class Toolchains:
def GetSettings(self):
self.paths += self.GetPathList()
def Add(self, fname, test=True, verbose=False, priority=PRIORITY_CALC):
def Add(self, fname, test=True, verbose=False, priority=PRIORITY_CALC,
arch=None):
"""Add a toolchain to our list
We select the given toolchain as our preferred one for its
@ -189,8 +195,9 @@ class Toolchains:
fname: Filename of toolchain's gcc driver
test: True to run the toolchain to test it
priority: Priority to use for this toolchain
arch: Toolchain architecture, or None if not known
"""
toolchain = Toolchain(fname, test, verbose, priority)
toolchain = Toolchain(fname, test, verbose, priority, arch)
add_it = toolchain.ok
if toolchain.arch in self.toolchains:
add_it = (toolchain.priority <

Loading…
Cancel
Save