summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/externalsrc.bbclass20
1 files changed, 17 insertions, 3 deletions
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index b7140a321d..5c65d2b742 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -29,6 +29,23 @@ EXTERNALSRC_SYMLINKS ?= "oe-workdir:${WORKDIR} oe-logs:${T}"
29 29
30python () { 30python () {
31 externalsrc = d.getVar('EXTERNALSRC', True) 31 externalsrc = d.getVar('EXTERNALSRC', True)
32
33 # If this is the base recipe and EXTERNALSRC is set for it or any of its
34 # derivatives, then enable BB_DONT_CACHE to force the recipe to always be
35 # re-parsed so that the file-checksums function for do_compile is run every
36 # time.
37 bpn = d.getVar('BPN', True)
38 if bpn == d.getVar('PN', True):
39 classextend = (d.getVar('BBCLASSEXTEND', True) or '').split()
40 if (externalsrc or
41 ('native' in classextend and
42 d.getVar('EXTERNALSRC_pn-%s-native' % bpn, True)) or
43 ('nativesdk' in classextend and
44 d.getVar('EXTERNALSRC_pn-nativesdk-%s' % bpn, True)) or
45 ('cross' in classextend and
46 d.getVar('EXTERNALSRC_pn-%s-cross' % bpn, True))):
47 d.setVar('BB_DONT_CACHE', '1')
48
32 if externalsrc: 49 if externalsrc:
33 d.setVar('S', externalsrc) 50 d.setVar('S', externalsrc)
34 externalsrcbuild = d.getVar('EXTERNALSRC_BUILD', True) 51 externalsrcbuild = d.getVar('EXTERNALSRC_BUILD', True)
@@ -85,9 +102,6 @@ python () {
85 d.prependVarFlag('do_compile', 'prefuncs', "externalsrc_compile_prefunc ") 102 d.prependVarFlag('do_compile', 'prefuncs', "externalsrc_compile_prefunc ")
86 d.prependVarFlag('do_configure', 'prefuncs', "externalsrc_configure_prefunc ") 103 d.prependVarFlag('do_configure', 'prefuncs', "externalsrc_configure_prefunc ")
87 104
88 # Force the recipe to be always re-parsed so that the file_checksums
89 # function is run every time
90 d.setVar('BB_DONT_CACHE', '1')
91 d.setVarFlag('do_compile', 'file-checksums', '${@srctree_hash_files(d)}') 105 d.setVarFlag('do_compile', 'file-checksums', '${@srctree_hash_files(d)}')
92 106
93 # We don't want the workdir to go away 107 # We don't want the workdir to go away