diff options
Diffstat (limited to 'meta/classes/native.bbclass')
| -rw-r--r-- | meta/classes/native.bbclass | 23 |
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' |
| 6 | EXCLUDE_FROM_WORLD = "1" | 6 | EXCLUDE_FROM_WORLD = "1" |
| 7 | 7 | ||
| 8 | PACKAGES = "" | ||
| 9 | PACKAGES_class-native = "" | ||
| 10 | PACKAGES_DYNAMIC = "" | ||
| 11 | PACKAGES_DYNAMIC_class-native = "" | ||
| 12 | PACKAGE_ARCH = "${BUILD_ARCH}" | 8 | PACKAGE_ARCH = "${BUILD_ARCH}" |
| 13 | 9 | ||
| 14 | # used by cmake class | 10 | # used by cmake class |
| 15 | OECMAKE_RPATH = "${libdir}" | 11 | OECMAKE_RPATH = "${libdir}" |
| 16 | OECMAKE_RPATH_class-native = "${libdir}" | 12 | OECMAKE_RPATH_class-native = "${libdir}" |
| 17 | 13 | ||
| 18 | # When this class has packaging enabled, setting | ||
| 19 | # RPROVIDES becomes unnecessary. | ||
| 20 | RPROVIDES = "${PN}" | ||
| 21 | |||
| 22 | TARGET_ARCH = "${BUILD_ARCH}" | 14 | TARGET_ARCH = "${BUILD_ARCH}" |
| 23 | TARGET_OS = "${BUILD_OS}" | 15 | TARGET_OS = "${BUILD_OS}" |
| 24 | TARGET_VENDOR = "${BUILD_VENDOR}" | 16 | TARGET_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 = [] |
