diff options
Diffstat (limited to 'meta/classes/sdk.bbclass')
| -rw-r--r-- | meta/classes/sdk.bbclass | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/meta/classes/sdk.bbclass b/meta/classes/sdk.bbclass index 62d4b2b6f9..dd62e2a028 100644 --- a/meta/classes/sdk.bbclass +++ b/meta/classes/sdk.bbclass | |||
| @@ -71,3 +71,34 @@ python () { | |||
| 71 | bb.data.setVar('PACKAGE_ARCHS', " ".join(sdkarchs), d) | 71 | bb.data.setVar('PACKAGE_ARCHS', " ".join(sdkarchs), d) |
| 72 | } | 72 | } |
| 73 | 73 | ||
| 74 | python __anonymous () { | ||
| 75 | pn = bb.data.getVar("PN", d, True) | ||
| 76 | depends = bb.data.getVar("DEPENDS", d, True) | ||
| 77 | deps = bb.utils.explode_deps(depends) | ||
| 78 | if "sdk" in (bb.data.getVar('BBCLASSEXTEND', d, True) or ""): | ||
| 79 | autoextend = True | ||
| 80 | else: | ||
| 81 | autoextend = False | ||
| 82 | for dep in deps: | ||
| 83 | if dep.endswith("-native") or dep.endswith("-cross") or dep.startswith("virtual/"): | ||
| 84 | continue | ||
| 85 | if not dep.endswith("-sdk"): | ||
| 86 | if autoextend: | ||
| 87 | depends = depends.replace(dep, dep + "-sdk") | ||
| 88 | else: | ||
| 89 | bb.note("%s has depends %s which doesn't end in -sdk?" % (pn, dep)) | ||
| 90 | bb.data.setVar("DEPENDS", depends, d) | ||
| 91 | provides = bb.data.getVar("PROVIDES", d, True) | ||
| 92 | for prov in provides.split(): | ||
| 93 | if prov.find(pn) != -1: | ||
| 94 | continue | ||
| 95 | if not prov.endswith("-sdk"): | ||
| 96 | if autoextend: | ||
| 97 | provides = provides.replace(prov, prov + "-sdk") | ||
| 98 | #else: | ||
| 99 | # bb.note("%s has rouge PROVIDES of %s which doesn't end in -sdk?" % (pn, prov)) | ||
| 100 | bb.data.setVar("PROVIDES", provides, d) | ||
| 101 | |||
| 102 | } | ||
| 103 | |||
| 104 | |||
