It adds an override based on type of recipe e.g. recipes ending with usual suffixes like -native -cross, -sdk add the same to overrides with out leading '-' It also add the same override for BBCLASSEXTEND For normal recipes we add 'target' to overrides
This will give up better control over defining and combining recipes into using BBCLASSEXTEND and still have finer control if needed. We wont require to have virtclass-xxx overrides anymore Signed-off-by: Khem Raj <[email protected]> --- classes/utils.bbclass | 3 +++ conf/bitbake.conf | 2 ++ lib/oe/utils.py | 8 ++++++++ 3 files changed, 13 insertions(+), 0 deletions(-) diff --git a/classes/utils.bbclass b/classes/utils.bbclass index 10d49ce..7c96509 100644 --- a/classes/utils.bbclass +++ b/classes/utils.bbclass @@ -36,6 +36,9 @@ def base_both_contain(variable1, variable2, checkvalue, d): def base_prune_suffix(var, suffixes, d): return oe.utils.prune_suffix(var, suffixes, d) +def base_get_suffix(var, suffixes, d): + return oe.utils.get_suffix(var, suffixes, d) + def oe_filter(f, str, d): return oe.utils.str_filter(f, str, d) diff --git a/conf/bitbake.conf b/conf/bitbake.conf index 539ab3d..2f3dd6b 100644 --- a/conf/bitbake.conf +++ b/conf/bitbake.conf @@ -195,6 +195,8 @@ MACHINE_KERNEL_PR = "" # otherwise it is the same as PN and P SPECIAL_PKGSUFFIX = "-native -cross -initial -intermediate -nativesdk -crosssdk -cross-canadian -sdk" BPN = "$...@base_prune_suffix('${PN}', '${SPECIAL_PKGSUFFIX}'.split(), d)}" +# Add a _target override so we can do target specific overrides when using BBCLASSEXTEND +OVERRIDES_prepend = "$...@base_get_suffix('${PN}', '${SPECIAL_PKGSUFFIX}'.split(), d)}:" BP = "${BPN}-${PV}" # Package info. diff --git a/lib/oe/utils.py b/lib/oe/utils.py index 2169ed2..4822864 100644 --- a/lib/oe/utils.py +++ b/lib/oe/utils.py @@ -67,6 +67,14 @@ def prune_suffix(var, suffixes, d): return var.replace(suffix, "") return var +def get_suffix(var, suffixes, d): + # See if var ends with any of the suffixes listed and + # if found return it otherwise return "target' + for suffix in suffixes: + if var.endswith(suffix): + return suffix[1:] + return "target" + def str_filter(f, str, d): from re import match return " ".join(filter(lambda x: match(f, x, 0), str.split())) -- 1.7.1 _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
