mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 17:39:31 +00:00
icecc: Support shell evaluation of KERNEL_CC
In the current implementation a KERNEL_CC variable containing shell
evaluation breaks the build process. Shell expansion is not happening
before general expansion in get_cross_kernel_cc which results in a
syntax error and an aborted parse process.
Before expanding the KERNEL_CC variable get_cross_kernel_cc now checks
for backticks or '$(' in the KERNEL_CC variable and performs a shell
evaluation using a call to echo if it finds one.
(From OE-Core rev: b28bae30fc5d8d1d7cc675ddb4159c39fb9bc3fd)
Signed-off-by: Tobias Henkel <tobias.henkel@bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
d283bfd960
commit
19c65b25a9
@@ -41,7 +41,13 @@ def icecc_dep_prepend(d):
|
||||
DEPENDS_prepend += "${@icecc_dep_prepend(d)} "
|
||||
|
||||
def get_cross_kernel_cc(bb,d):
|
||||
kernel_cc = d.expand('${KERNEL_CC}')
|
||||
kernel_cc = d.getVar('KERNEL_CC')
|
||||
|
||||
# evaluate the expression by the shell if necessary
|
||||
if '`' in kernel_cc or '$(' in kernel_cc:
|
||||
kernel_cc = os.popen("echo %s" % kernel_cc).read()[:-1]
|
||||
|
||||
kernel_cc = d.expand(kernel_cc)
|
||||
kernel_cc = kernel_cc.replace('ccache', '').strip()
|
||||
kernel_cc = kernel_cc.split(' ')[0]
|
||||
kernel_cc = kernel_cc.strip()
|
||||
|
||||
Reference in New Issue
Block a user