mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
externalsrc: use shared stamp directory if B=S
We have a common build directory for all target architectures if
externalsrc is used and ${B}=${S}. In this case we also need to have a
common stamp directory. The reason is that e.g. changing MACHINE will
basically "invalidate" the artefacts in ${B} (wrt. to the new MACHINE)
but old stamp files with matching hashes from an earlier build might be
available in the machine-specific stamps directory and tasks would not
be correctly re-run.
Previous attempt in f44f12af346888bdeb3ae01a275cb5dd4396b505 to handle
this correctly was faulty as it threw some spurious warnings and caused
do_configure to be re-run in every build if that would not be necessary.
[YOCTO #8950]
[YOCTO #9237]
(From OE-Core rev: f5031fb37ceef83c85f0dfec773da75c05b2a631)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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
1969332422
commit
62ddde6ebe
@@ -92,15 +92,13 @@ python () {
|
||||
d.appendVar('RM_WORK_EXCLUDE', ' ' + d.getVar('PN', True))
|
||||
|
||||
# If B=S the same builddir is used even for different architectures.
|
||||
# Thus, use a shared CONFIGURESTAMPFILE so that change of do_configure
|
||||
# task hash is correctly detected if e.g. MACHINE changes. In addition,
|
||||
# do_configure needs to depend on the stamp file so that the task is
|
||||
# re-run when the stamp was changed since the last run on this
|
||||
# architecture.
|
||||
# Thus, use a shared CONFIGURESTAMPFILE and STAMP directory so that
|
||||
# change of do_configure task hash is correctly detected and stamps are
|
||||
# invalidated if e.g. MACHINE changes.
|
||||
if d.getVar('S', True) == d.getVar('B', True):
|
||||
configstamp = '${TMPDIR}/work-shared/${PN}/${EXTENDPE}${PV}-${PR}/configure.sstate'
|
||||
d.setVar('CONFIGURESTAMPFILE', configstamp)
|
||||
d.setVarFlag('do_configure', 'file-checksums', configstamp + ':True')
|
||||
d.setVar('STAMP', '${STAMPS_DIR}/work-shared/${PN}/${EXTENDPE}${PV}-${PR}')
|
||||
}
|
||||
|
||||
python externalsrc_configure_prefunc() {
|
||||
|
||||
Reference in New Issue
Block a user