On Mon, Mar 28, 2011 at 12:03 PM, Tom Rini <[email protected]> wrote: > On 03/27/2011 04:03 PM, Chris Larson wrote: >> On Sun, Mar 27, 2011 at 1:08 PM, Khem Raj <[email protected]> wrote: >>> I observed that if I have >>> DEPENDS = "a b" in recipe.bb which has BBCLASSEXTEND = "native" >>> then dependecies for recipe-native shows a-native b-native so far so >>> good >>> >>> Now if I want to add a dependency which only is needed for native recipe >>> I do >>> >>> DEPENDS_virtclass-native += "c-native" >>> >>> what this does is it will ignore a-native and b-native dependencies and >>> only adds "c-native" to depends of native recipe >>> >>> DEPENDS_virtclass-native_append = " c-native" >>> >>> This does what I wanted i.e. have deps on a-native b-native c-native >>> >>> I think behavior of += or _append should be similar. Is my understanding >>> correct ? >> >> They've never been the same. += is immediate, _append is delayed. If >> a class, say, native.bbclass, defines the variable with ?=, and you >> used += before the inherit, then it will have a value, and the ?= >> won't assign. I assume native.bbclass does it this way today so you >> can override the automatic behavior by defining the variable yourself, >> but I'll let Richard speak to that decision. > > As Richard said, this is a good summary. And a shorter still summary > (as Chris reminds me everytime I forget) is that since BBCLASSEXTENDS > makes use of an override already (virtclass-native/cross/etc) you must > keep that in mind when further modifying it as you get not what you > expected but what you asked for. >
Yes no doubt on how it works and can be coded to likings of what we have but I think that having += and friends as well as _append and _prepend could be combined into one logic immediate appending/prepending operation may be confusing IMO while immediate assignments I think still are ok. We have more than one directives doing very similar yet semantically different operations It becomes hard for recipe writers. May be I am over simplifying > -- > Tom Rini > Mentor Graphics Corporation > > _______________________________________________ > Openembedded-core mailing list > [email protected] > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core > _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
