mirror of
https://git.yoctoproject.org/poky
synced 2026-04-27 21:32:13 +02:00
archiver: generalise task running when in configured mode
When in configured mode the archive will re-run configure itself, but that doesn't work if there are other tasks that need to run such as cmake's generate_toolchain_file. Instead of hard-coding a list of classes and tasks, obtain the list of tasks preceeding do_configure, filter out ones we don't want to re-run such as do_patch and do_prepare_recipe_sysroot, and run those too. (From OE-Core rev: fe26382f94d8cb7d2453d9937aee451b757252b8) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
e85f567f96
commit
4771a7c2ed
@@ -246,21 +246,27 @@ python do_ar_configured() {
|
||||
# do_configure, we archive the already configured ${S} to
|
||||
# instead of.
|
||||
elif pn != 'libtool-native':
|
||||
def runTask(task):
|
||||
bb.warn("running %s" % task)
|
||||
prefuncs = d.getVarFlag(task, 'prefuncs') or ''
|
||||
for func in prefuncs.split():
|
||||
if func != "sysroot_cleansstate":
|
||||
bb.build.exec_func(func, d)
|
||||
bb.build.exec_func(task, d)
|
||||
postfuncs = d.getVarFlag(task, 'postfuncs') or ''
|
||||
for func in postfuncs.split():
|
||||
if func != 'do_qa_configure':
|
||||
bb.build.exec_func(func, d)
|
||||
|
||||
# Change the WORKDIR to make do_configure run in another dir.
|
||||
d.setVar('WORKDIR', d.getVar('ARCHIVER_WORKDIR'))
|
||||
if bb.data.inherits_class('kernel-yocto', d):
|
||||
bb.build.exec_func('do_kernel_configme', d)
|
||||
if bb.data.inherits_class('cmake', d):
|
||||
bb.build.exec_func('do_generate_toolchain_file', d)
|
||||
prefuncs = d.getVarFlag('do_configure', 'prefuncs')
|
||||
for func in (prefuncs or '').split():
|
||||
if func != "sysroot_cleansstate":
|
||||
bb.build.exec_func(func, d)
|
||||
bb.build.exec_func('do_configure', d)
|
||||
postfuncs = d.getVarFlag('do_configure', 'postfuncs')
|
||||
for func in (postfuncs or '').split():
|
||||
if func != "do_qa_configure":
|
||||
bb.build.exec_func(func, d)
|
||||
|
||||
preceeds = bb.build.preceedtask('do_configure', False, d)
|
||||
for task in preceeds:
|
||||
if task != 'do_patch' and task != 'do_prepare_recipe_sysroot':
|
||||
runTask(task)
|
||||
runTask('do_configure')
|
||||
|
||||
srcdir = d.getVar('S')
|
||||
builddir = d.getVar('B')
|
||||
if srcdir != builddir:
|
||||
|
||||
Reference in New Issue
Block a user