summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/classextend.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oe/classextend.py')
-rw-r--r--meta/lib/oe/classextend.py13
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
147class NativesdkClassExtender(ClassExtender): 152class 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)