diff options
| -rw-r--r-- | meta/classes/archiver.bbclass | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index 7c3e701e70..a54cf948f3 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass | |||
| @@ -246,21 +246,27 @@ python do_ar_configured() { | |||
| 246 | # do_configure, we archive the already configured ${S} to | 246 | # do_configure, we archive the already configured ${S} to |
| 247 | # instead of. | 247 | # instead of. |
| 248 | elif pn != 'libtool-native': | 248 | elif pn != 'libtool-native': |
| 249 | def runTask(task): | ||
| 250 | bb.warn("running %s" % task) | ||
| 251 | prefuncs = d.getVarFlag(task, 'prefuncs') or '' | ||
| 252 | for func in prefuncs.split(): | ||
| 253 | if func != "sysroot_cleansstate": | ||
| 254 | bb.build.exec_func(func, d) | ||
| 255 | bb.build.exec_func(task, d) | ||
| 256 | postfuncs = d.getVarFlag(task, 'postfuncs') or '' | ||
| 257 | for func in postfuncs.split(): | ||
| 258 | if func != 'do_qa_configure': | ||
| 259 | bb.build.exec_func(func, d) | ||
| 260 | |||
| 249 | # Change the WORKDIR to make do_configure run in another dir. | 261 | # Change the WORKDIR to make do_configure run in another dir. |
| 250 | d.setVar('WORKDIR', d.getVar('ARCHIVER_WORKDIR')) | 262 | d.setVar('WORKDIR', d.getVar('ARCHIVER_WORKDIR')) |
| 251 | if bb.data.inherits_class('kernel-yocto', d): | 263 | |
| 252 | bb.build.exec_func('do_kernel_configme', d) | 264 | preceeds = bb.build.preceedtask('do_configure', False, d) |
| 253 | if bb.data.inherits_class('cmake', d): | 265 | for task in preceeds: |
| 254 | bb.build.exec_func('do_generate_toolchain_file', d) | 266 | if task != 'do_patch' and task != 'do_prepare_recipe_sysroot': |
| 255 | prefuncs = d.getVarFlag('do_configure', 'prefuncs') | 267 | runTask(task) |
| 256 | for func in (prefuncs or '').split(): | 268 | runTask('do_configure') |
| 257 | if func != "sysroot_cleansstate": | 269 | |
| 258 | bb.build.exec_func(func, d) | ||
| 259 | bb.build.exec_func('do_configure', d) | ||
| 260 | postfuncs = d.getVarFlag('do_configure', 'postfuncs') | ||
| 261 | for func in (postfuncs or '').split(): | ||
| 262 | if func != "do_qa_configure": | ||
| 263 | bb.build.exec_func(func, d) | ||
| 264 | srcdir = d.getVar('S') | 270 | srcdir = d.getVar('S') |
| 265 | builddir = d.getVar('B') | 271 | builddir = d.getVar('B') |
| 266 | if srcdir != builddir: | 272 | if srcdir != builddir: |
