diff options
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/native.bbclass | 18 | ||||
-rw-r--r-- | meta/classes/sdk.bbclass | 31 |
2 files changed, 49 insertions, 0 deletions
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass index 8f79935040..9f6501f583 100644 --- a/meta/classes/native.bbclass +++ b/meta/classes/native.bbclass @@ -95,3 +95,21 @@ do_install () { PKG_CONFIG_PATH .= "${EXTRA_NATIVE_PKGCONFIG_PATH}" PKG_CONFIG_SYSROOT_DIR = "" + +python __anonymous () { + pn = bb.data.getVar("PN", d, True) + depends = bb.data.getVar("DEPENDS", d, True) + deps = bb.utils.explode_deps(depends) + if "native" in (bb.data.getVar('BBCLASSEXTEND', d, True) or ""): + autoextend = True + else: + autoextend = False + for dep in deps: + if not dep.endswith("-native"): + if autoextend: + depends = depends.replace(dep, dep + "-native") + else: + bb.note("%s has depends %s which doesn't end in -native?" % (pn, dep)) + bb.data.setVar("DEPENDS", depends, d) +} + 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 () { bb.data.setVar('PACKAGE_ARCHS', " ".join(sdkarchs), d) } +python __anonymous () { + pn = bb.data.getVar("PN", d, True) + depends = bb.data.getVar("DEPENDS", d, True) + deps = bb.utils.explode_deps(depends) + if "sdk" in (bb.data.getVar('BBCLASSEXTEND', d, True) or ""): + autoextend = True + else: + autoextend = False + for dep in deps: + if dep.endswith("-native") or dep.endswith("-cross") or dep.startswith("virtual/"): + continue + if not dep.endswith("-sdk"): + if autoextend: + depends = depends.replace(dep, dep + "-sdk") + else: + bb.note("%s has depends %s which doesn't end in -sdk?" % (pn, dep)) + bb.data.setVar("DEPENDS", depends, d) + provides = bb.data.getVar("PROVIDES", d, True) + for prov in provides.split(): + if prov.find(pn) != -1: + continue + if not prov.endswith("-sdk"): + if autoextend: + provides = provides.replace(prov, prov + "-sdk") + #else: + # bb.note("%s has rouge PROVIDES of %s which doesn't end in -sdk?" % (pn, prov)) + bb.data.setVar("PROVIDES", provides, d) + +} + + |