diff options
Diffstat (limited to 'meta/classes/externalsrc.bbclass')
-rw-r--r-- | meta/classes/externalsrc.bbclass | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass index 4e429d78d8..e372392801 100644 --- a/meta/classes/externalsrc.bbclass +++ b/meta/classes/externalsrc.bbclass | |||
@@ -47,6 +47,20 @@ python () { | |||
47 | # Since configure will likely touch ${S}, ensure only we lock so one task has access at a time | 47 | # Since configure will likely touch ${S}, ensure only we lock so one task has access at a time |
48 | d.appendVarFlag(task, "lockfiles", "${S}/singletask.lock") | 48 | d.appendVarFlag(task, "lockfiles", "${S}/singletask.lock") |
49 | 49 | ||
50 | # We do not want our source to be wiped out, ever (kernel.bbclass does this for do_clean) | ||
51 | cleandirs = d.getVarFlag(task, 'cleandirs', False) | ||
52 | if cleandirs: | ||
53 | cleandirs = cleandirs.split() | ||
54 | setvalue = False | ||
55 | if '${S}' in cleandirs: | ||
56 | cleandirs.remove('${S}') | ||
57 | setvalue = True | ||
58 | if externalsrcbuild == externalsrc and '${B}' in cleandirs: | ||
59 | cleandirs.remove('${B}') | ||
60 | setvalue = True | ||
61 | if setvalue: | ||
62 | d.setVarFlag(task, 'cleandirs', ' '.join(cleandirs)) | ||
63 | |||
50 | for task in d.getVar("SRCTREECOVEREDTASKS", True).split(): | 64 | for task in d.getVar("SRCTREECOVEREDTASKS", True).split(): |
51 | bb.build.deltask(task, d) | 65 | bb.build.deltask(task, d) |
52 | 66 | ||