summaryrefslogtreecommitdiffstats
path: root/meta/classes/nativesdk.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-09 16:56:23 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-09 21:49:10 (GMT)
commit1b53eef2769d1b5e4ff527ccabf9b700afc02220 (patch)
treeeac0ab929bf93d34cb48b1be690d9a19a37330b7 /meta/classes/nativesdk.bbclass
parent69c87c5ebba27d843e00a01d02031477f23867fe (diff)
downloadpoky-1b53eef2769d1b5e4ff527ccabf9b700afc02220.tar.gz
native/nativesdk: Clean up the depends ordering after bitbake override handling updates
This massively cleans up the dependency handling in the two classes when interacting with BBCLASSEXTEND. This change has a dependency on the bitbake override handling change and also the existence of the RecipePreFinalise event. (From OE-Core rev: f183c7cfe377fa6ed2777605c3590a9dda2060df) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/nativesdk.bbclass')
-rw-r--r--meta/classes/nativesdk.bbclass23
1 files changed, 14 insertions, 9 deletions
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index cd34a79..644e731 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -54,12 +54,15 @@ FILES_${PN}-dbg += "${prefix}/.debug \
54export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${libdir}/pkgconfig" 54export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${libdir}/pkgconfig"
55export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}" 55export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
56 56
57ORIG_DEPENDS := "${DEPENDS}" 57python nativesdk_virtclass_handler () {
58DEPENDS_virtclass-nativesdk ?= "${ORIG_DEPENDS}" 58 if not isinstance(e, bb.event.RecipePreFinalise):
59 return
59 60
60python __anonymous () { 61 pn = bb.data.getVar("PN", e.data, True)
61 pn = bb.data.getVar("PN", d, True) 62 if not pn.endswith("-nativesdk"):
62 depends = bb.data.getVar("DEPENDS_virtclass-nativesdk", d, True) 63 return
64
65 depends = bb.data.getVar("DEPENDS", e.data, True)
63 deps = bb.utils.explode_deps(depends) 66 deps = bb.utils.explode_deps(depends)
64 newdeps = [] 67 newdeps = []
65 for dep in deps: 68 for dep in deps:
@@ -71,16 +74,18 @@ python __anonymous () {
71 newdeps.append(dep + "-nativesdk") 74 newdeps.append(dep + "-nativesdk")
72 else: 75 else:
73 newdeps.append(dep) 76 newdeps.append(dep)
74 bb.data.setVar("DEPENDS_virtclass-nativesdk", " ".join(newdeps), d) 77 bb.data.setVar("DEPENDS", " ".join(newdeps), e.data)
75 provides = bb.data.getVar("PROVIDES", d, True) 78 provides = bb.data.getVar("PROVIDES", e.data, True)
76 for prov in provides.split(): 79 for prov in provides.split():
77 if prov.find(pn) != -1: 80 if prov.find(pn) != -1:
78 continue 81 continue
79 if not prov.endswith("-nativesdk"): 82 if not prov.endswith("-nativesdk"):
80 provides = provides.replace(prov, prov + "-nativesdk") 83 provides = provides.replace(prov, prov + "-nativesdk")
81 bb.data.setVar("PROVIDES", provides, d) 84 bb.data.setVar("PROVIDES", provides, e.data)
82 bb.data.setVar("OVERRIDES", bb.data.getVar("OVERRIDES", d, False) + ":virtclass-nativesdk", d) 85 bb.data.setVar("OVERRIDES", bb.data.getVar("OVERRIDES", e.data, False) + ":virtclass-nativesdk", e.data)
83} 86}
84 87
88addhandler nativesdk_virtclass_handler
89
85do_populate_sysroot[stamp-extra-info] = "" 90do_populate_sysroot[stamp-extra-info] = ""
86do_package[stamp-extra-info] = "" 91do_package[stamp-extra-info] = ""