diff options
Diffstat (limited to 'meta/lib/oe/classextend.py')
-rw-r--r-- | meta/lib/oe/classextend.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py index d3d8fbe724..5161d33d2d 100644 --- a/meta/lib/oe/classextend.py +++ b/meta/lib/oe/classextend.py | |||
@@ -1,4 +1,6 @@ | |||
1 | # | 1 | # |
2 | # Copyright OpenEmbedded Contributors | ||
3 | # | ||
2 | # SPDX-License-Identifier: GPL-2.0-only | 4 | # SPDX-License-Identifier: GPL-2.0-only |
3 | # | 5 | # |
4 | 6 | ||
@@ -30,6 +32,9 @@ class ClassExtender(object): | |||
30 | if name.endswith("-" + self.extname): | 32 | if name.endswith("-" + self.extname): |
31 | name = name.replace("-" + self.extname, "") | 33 | name = name.replace("-" + self.extname, "") |
32 | if name.startswith("virtual/"): | 34 | if name.startswith("virtual/"): |
35 | # Assume large numbers of dashes means a triplet is present and we don't need to convert | ||
36 | if name.count("-") >= 3 and name.endswith(("-go", "-binutils", "-gcc", "-g++")): | ||
37 | return name | ||
33 | subs = name.split("/", 1)[1] | 38 | subs = name.split("/", 1)[1] |
34 | if not subs.startswith(self.extname): | 39 | if not subs.startswith(self.extname): |
35 | return "virtual/" + self.extname + "-" + subs | 40 | return "virtual/" + self.extname + "-" + subs |
@@ -87,7 +92,7 @@ class ClassExtender(object): | |||
87 | def map_depends_variable(self, varname, suffix = ""): | 92 | def map_depends_variable(self, varname, suffix = ""): |
88 | # We need to preserve EXTENDPKGV so it can be expanded correctly later | 93 | # We need to preserve EXTENDPKGV so it can be expanded correctly later |
89 | if suffix: | 94 | if suffix: |
90 | varname = varname + "_" + suffix | 95 | varname = varname + ":" + suffix |
91 | orig = self.d.getVar("EXTENDPKGV", False) | 96 | orig = self.d.getVar("EXTENDPKGV", False) |
92 | self.d.setVar("EXTENDPKGV", "EXTENDPKGV") | 97 | self.d.setVar("EXTENDPKGV", "EXTENDPKGV") |
93 | deps = self.d.getVar(varname) | 98 | deps = self.d.getVar(varname) |
@@ -142,15 +147,13 @@ class ClassExtender(object): | |||
142 | if pkg_mapping[0].startswith("${") and pkg_mapping[0].endswith("}"): | 147 | if pkg_mapping[0].startswith("${") and pkg_mapping[0].endswith("}"): |
143 | continue | 148 | continue |
144 | for subs in variables: | 149 | for subs in variables: |
145 | self.d.renameVar("%s_%s" % (subs, pkg_mapping[0]), "%s_%s" % (subs, pkg_mapping[1])) | 150 | self.d.renameVar("%s:%s" % (subs, pkg_mapping[0]), "%s:%s" % (subs, pkg_mapping[1])) |
146 | 151 | ||
147 | class NativesdkClassExtender(ClassExtender): | 152 | class NativesdkClassExtender(ClassExtender): |
148 | def map_depends(self, dep): | 153 | def map_depends(self, dep): |
149 | if dep.startswith(self.extname): | 154 | if dep.startswith(self.extname): |
150 | return dep | 155 | return dep |
151 | if dep.endswith(("-gcc", "-g++")): | 156 | if dep.endswith(("-native", "-native-runtime")) or ('nativesdk-' in dep) or ('-cross-' in dep) or ('-crosssdk-' in dep): |
152 | return dep + "-crosssdk" | ||
153 | elif dep.endswith(("-native", "-native-runtime")) or ('nativesdk-' in dep) or ('-cross-' in dep) or ('-crosssdk-' in dep): | ||
154 | return dep | 157 | return dep |
155 | else: | 158 | else: |
156 | return self.extend_name(dep) | 159 | return self.extend_name(dep) |