tools: buildman: Add compiler wrapper
Now we can use compiler wrapper such as ccache or distcc for buildman. Signed-off-by: York Sun <york.sun@nxp.com> CC: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
f40fa9b36f
commit
d5fe013cee
|
@ -211,6 +211,15 @@ arm: arm-none-eabi-
|
||||||
|
|
||||||
and buildman will find arm-none-eabi-gcc in /usr/bin if you have it installed.
|
and buildman will find arm-none-eabi-gcc in /usr/bin if you have it installed.
|
||||||
|
|
||||||
|
[toolchain-wrapper]
|
||||||
|
wrapper: ccache
|
||||||
|
|
||||||
|
This tells buildman to use a compiler wrapper in front of CROSS_COMPILE. In
|
||||||
|
this example, ccache. It doesn't affect the toolchain scan. The wrapper is
|
||||||
|
added when CROSS_COMPILE environtal variable is set. The name in this
|
||||||
|
section is ignored. If more than one line is provided, only the last one
|
||||||
|
is taken.
|
||||||
|
|
||||||
3. Make sure you have the require Python pre-requisites
|
3. Make sure you have the require Python pre-requisites
|
||||||
|
|
||||||
Buildman uses multiprocessing, Queue, shutil, StringIO, ConfigParser and
|
Buildman uses multiprocessing, Queue, shutil, StringIO, ConfigParser and
|
||||||
|
|
|
@ -127,6 +127,18 @@ class Toolchain:
|
||||||
return PRIORITY_CALC + prio
|
return PRIORITY_CALC + prio
|
||||||
return PRIORITY_CALC + prio
|
return PRIORITY_CALC + prio
|
||||||
|
|
||||||
|
def GetWrapper(self, show_warning=True):
|
||||||
|
"""Get toolchain wrapper from the setting file.
|
||||||
|
"""
|
||||||
|
value = ''
|
||||||
|
for name, value in bsettings.GetItems('toolchain-wrapper'):
|
||||||
|
if not value:
|
||||||
|
print "Warning: Wrapper not found"
|
||||||
|
if value:
|
||||||
|
value = value + ' '
|
||||||
|
|
||||||
|
return value
|
||||||
|
|
||||||
def MakeEnvironment(self, full_path):
|
def MakeEnvironment(self, full_path):
|
||||||
"""Returns an environment for using the toolchain.
|
"""Returns an environment for using the toolchain.
|
||||||
|
|
||||||
|
@ -138,10 +150,12 @@ class Toolchain:
|
||||||
PATH
|
PATH
|
||||||
"""
|
"""
|
||||||
env = dict(os.environ)
|
env = dict(os.environ)
|
||||||
|
wrapper = self.GetWrapper()
|
||||||
|
|
||||||
if full_path:
|
if full_path:
|
||||||
env['CROSS_COMPILE'] = os.path.join(self.path, self.cross)
|
env['CROSS_COMPILE'] = wrapper + os.path.join(self.path, self.cross)
|
||||||
else:
|
else:
|
||||||
env['CROSS_COMPILE'] = self.cross
|
env['CROSS_COMPILE'] = wrapper + self.cross
|
||||||
env['PATH'] = self.path + ':' + env['PATH']
|
env['PATH'] = self.path + ':' + env['PATH']
|
||||||
|
|
||||||
return env
|
return env
|
||||||
|
|
Loading…
Reference in New Issue