]> code.ossystems Code Review - openembedded-core.git/commit
Implement ??= operator
authorChris Larson <chris_larson@mentor.com>
Thu, 25 Feb 2010 16:42:28 +0000 (09:42 -0700)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 22 Mar 2010 15:02:59 +0000 (15:02 +0000)
commit57044b9a6240235a403eac4067e2e2113e03b6eb
tree46f15cb768778aa0f8363d6da2e98c6aaa69aadb
parentada2a8494a88b59de25c0a44fce30190f560eff4
Implement ??= operator

??= is a lazy, conditional assignment.  Whereas a ?= immediately assigns to
the variable if the variable has not yet been set, ??= does not apply the
default assignment until the end of the parse.  As a result, the final ??= for
a given variable is used, as opposed to the first as in ?=.

Note that the initial implementation relies upon finalise() to apply the
defaults, so a "bitbake -e" without specifying a recipe will not show the
defaults as set by ??=.  Moving application of the default into getVar adds
too large a performance hit.  We may want to revisit this later.

(Bitbake rev: 74f50fbca194c9c72bd2a540f4b9de458cb08e2d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/doc/manual/usermanual.xml
bitbake/lib/bb/parse/ast.py
bitbake/lib/bb/parse/parse_py/ConfHandler.py