Whats the motivation here. This looks like a backdoor for bsps. To user it
will make inconsistent behaviour. Even now its quite hard to root cause
errors due to siteinfo

On Jul 22, 2016 7:26 AM, "Richard Purdie" <
[email protected]> wrote:
>
> 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 <[email protected]>
>
> diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
> index 50141a3..3c9ab2a 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)
>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> [email protected]
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to