summaryrefslogtreecommitdiffstats
path: root/meta/classes/native.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/native.bbclass')
-rw-r--r--meta/classes/native.bbclass23
1 files changed, 9 insertions, 14 deletions
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 08106e345c..a0838e41b9 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -5,20 +5,12 @@ inherit relocatable
5# no need for them to be a direct target of 'world' 5# no need for them to be a direct target of 'world'
6EXCLUDE_FROM_WORLD = "1" 6EXCLUDE_FROM_WORLD = "1"
7 7
8PACKAGES = ""
9PACKAGES_class-native = ""
10PACKAGES_DYNAMIC = ""
11PACKAGES_DYNAMIC_class-native = ""
12PACKAGE_ARCH = "${BUILD_ARCH}" 8PACKAGE_ARCH = "${BUILD_ARCH}"
13 9
14# used by cmake class 10# used by cmake class
15OECMAKE_RPATH = "${libdir}" 11OECMAKE_RPATH = "${libdir}"
16OECMAKE_RPATH_class-native = "${libdir}" 12OECMAKE_RPATH_class-native = "${libdir}"
17 13
18# When this class has packaging enabled, setting
19# RPROVIDES becomes unnecessary.
20RPROVIDES = "${PN}"
21
22TARGET_ARCH = "${BUILD_ARCH}" 14TARGET_ARCH = "${BUILD_ARCH}"
23TARGET_OS = "${BUILD_OS}" 15TARGET_OS = "${BUILD_OS}"
24TARGET_VENDOR = "${BUILD_VENDOR}" 16TARGET_VENDOR = "${BUILD_VENDOR}"
@@ -138,7 +130,7 @@ python native_virtclass_handler () {
138 if "native" not in classextend: 130 if "native" not in classextend:
139 return 131 return
140 132
141 def map_dependencies(varname, d, suffix = ""): 133 def map_dependencies(varname, d, suffix = "", selfref=True):
142 if suffix: 134 if suffix:
143 varname = varname + "_" + suffix 135 varname = varname + "_" + suffix
144 deps = d.getVar(varname) 136 deps = d.getVar(varname)
@@ -148,22 +140,25 @@ python native_virtclass_handler () {
148 newdeps = [] 140 newdeps = []
149 for dep in deps: 141 for dep in deps:
150 if dep == pn: 142 if dep == pn:
151 continue 143 if not selfref:
144 continue
145 newdeps.append(dep)
152 elif "-cross-" in dep: 146 elif "-cross-" in dep:
153 newdeps.append(dep.replace("-cross", "-native")) 147 newdeps.append(dep.replace("-cross", "-native"))
154 elif not dep.endswith("-native"): 148 elif not dep.endswith("-native"):
155 newdeps.append(dep + "-native") 149 newdeps.append(dep.replace("-native", "") + "-native")
156 else: 150 else:
157 newdeps.append(dep) 151 newdeps.append(dep)
158 d.setVar(varname, " ".join(newdeps)) 152 d.setVar(varname, " ".join(newdeps), parsing=True)
159 153
160 map_dependencies("DEPENDS", e.data) 154 map_dependencies("DEPENDS", e.data, selfref=False)
161 for pkg in [e.data.getVar("PN"), "", "${PN}"]: 155 for pkg in e.data.getVar("PACKAGES", False).split():
162 map_dependencies("RDEPENDS", e.data, pkg) 156 map_dependencies("RDEPENDS", e.data, pkg)
163 map_dependencies("RRECOMMENDS", e.data, pkg) 157 map_dependencies("RRECOMMENDS", e.data, pkg)
164 map_dependencies("RSUGGESTS", e.data, pkg) 158 map_dependencies("RSUGGESTS", e.data, pkg)
165 map_dependencies("RPROVIDES", e.data, pkg) 159 map_dependencies("RPROVIDES", e.data, pkg)
166 map_dependencies("RREPLACES", e.data, pkg) 160 map_dependencies("RREPLACES", e.data, pkg)
161 map_dependencies("PACKAGES", e.data)
167 162
168 provides = e.data.getVar("PROVIDES") 163 provides = e.data.getVar("PROVIDES")
169 nprovides = [] 164 nprovides = []