diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-22 15:25:43 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-25 23:46:55 +0100 |
commit | 2718bb9f2eabc15e3ef7cb5d67f4331de4f751d6 (patch) | |
tree | 3d82fcea0be73fbeaa5332cea2851a4e0fcced93 /meta/classes/siteinfo.bbclass | |
parent | c57550c9cca598315ba4408e44b138cecc22b8a0 (diff) | |
download | openembedded-core-2718bb9f2eabc15e3ef7cb5d67f4331de4f751d6.tar.gz openembedded-core-2718bb9f2eabc15e3ef7cb5d67f4331de4f751d6.tar.bz2 openembedded-core-2718bb9f2eabc15e3ef7cb5d67f4331de4f751d6.zip |
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/siteinfo.bbclass')
-rw-r--r-- | meta/classes/siteinfo.bbclass | 8 |
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) |