aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-22 15:25:43 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-25 23:46:55 +0100
commit2718bb9f2eabc15e3ef7cb5d67f4331de4f751d6 (patch)
tree3d82fcea0be73fbeaa5332cea2851a4e0fcced93 /meta/classes
parentc57550c9cca598315ba4408e44b138cecc22b8a0 (diff)
downloadopenembedded-core-contrib-2718bb9f2eabc15e3ef7cb5d67f4331de4f751d6.tar.gz
siteinfo: Add mechanism to extend siteinfo information from BSP layer
In order to add a new architecture or sub-architecture to OE, you currently need to tweak the table in siteinfo.bbclass. This adds a mechanism so this can be done from a BSP layer. It needs a function definition which needs a class file but can then be done with something like: def rp_testfunc2(archinfo, osinfo, targetinfo, d): archinfo['testarch'] = "little-endian bit-32" osinfo['testos'] = "common-linux" targetinfo['mymach-linux'] = "mymach-linux-common" return archinfo, osinfo, targetinfo SITEINFO_EXTRA_DATAFUNCS = "rp_testfunc2" [YOCTO #8554] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/siteinfo.bbclass8
1 files changed, 8 insertions, 0 deletions
diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
index 50141a353f..03d4c4fd20 100644
--- a/meta/classes/siteinfo.bbclass
+++ b/meta/classes/siteinfo.bbclass
@@ -107,6 +107,14 @@ def siteinfo_data(d):
"x86_64-mingw32": "bit-64",
}
+ # Add in any extra user supplied data which may come from a BSP layer, removing the
+ # need to always change this class directly
+ extra_siteinfo = (d.getVar("SITEINFO_EXTRA_DATAFUNCS", True) or "").split()
+ for m in extra_siteinfo:
+ call = m + "(archinfo, osinfo, targetinfo, d)"
+ locs = { "archinfo" : archinfo, "osinfo" : osinfo, "targetinfo" : targetinfo, "d" : d}
+ archinfo, osinfo, targetinfo = bb.utils.better_eval(call, locs)
+
hostarch = d.getVar("HOST_ARCH", True)
hostos = d.getVar("HOST_OS", True)
target = "%s-%s" % (hostarch, hostos)