'waf' supports only simple '-j' and fails when parallel make flags contain extended options like '--load-average'. Patch uses the method from 'boost.inc' to filter '-j'. (From OE-Core rev: bc394e1dd229845a315a97704beca43fbb8976ee) Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
36 lines
857 B
Text
36 lines
857 B
Text
def get_waf_parallel_make(bb, d):
|
|
pm = d.getVar('PARALLEL_MAKE', True)
|
|
if pm:
|
|
# look for '-j' and throw other options (e.g. '-l') away
|
|
# because they might have different meaning in bjam
|
|
pm = pm.split()
|
|
while pm:
|
|
v = None
|
|
opt = pm.pop(0)
|
|
if opt == '-j':
|
|
v = pm.pop(0)
|
|
elif opt.startswith('-j'):
|
|
v = opt[2:].strip()
|
|
else:
|
|
v = None
|
|
|
|
if v:
|
|
v = min(64, int(v))
|
|
return '-j' + str(v)
|
|
|
|
return ""
|
|
|
|
waf_do_configure() {
|
|
${S}/waf configure --prefix=${prefix} ${EXTRA_OECONF}
|
|
}
|
|
|
|
waf_do_compile() {
|
|
${S}/waf build ${@get_waf_parallel_make('PARALLEL_MAKE', d)}
|
|
}
|
|
|
|
waf_do_install() {
|
|
${S}/waf install --destdir=${D}
|
|
}
|
|
|
|
EXPORT_FUNCTIONS do_configure do_compile do_install
|