diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2010-12-10 15:30:30 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-12-14 22:36:19 +0000 |
commit | 80e6408b9f0a07e192696a2c2d371b258b4b187d (patch) | |
tree | e4a3c12b4855644fe11991952f98a75871727e9a /bitbake/lib | |
parent | a52e4063f4da3ac377959bbd1bea425c9a466df9 (diff) | |
download | poky-80e6408b9f0a07e192696a2c2d371b258b4b187d.tar.gz |
bitbake: add optional expansion to getVarFlag()
Add a parameter to getVarFlag() to auto-expand the value of the flag. This
makes getVarFlag() more consistent with getVar(), and allows expansion of
vardeps and vardepsexclude (which has been done in this commit).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/bb/data.py | 4 | ||||
-rw-r--r-- | bitbake/lib/bb/data_smart.py | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py index 0c95ebb31b..0aa8b404cb 100644 --- a/bitbake/lib/bb/data.py +++ b/bitbake/lib/bb/data.py | |||
@@ -296,8 +296,8 @@ def build_dependencies(key, keys, shelldeps, d): | |||
296 | parser = d.expandWithRefs(d.getVar(key, False), key) | 296 | parser = d.expandWithRefs(d.getVar(key, False), key) |
297 | deps |= parser.references | 297 | deps |= parser.references |
298 | deps = deps | (keys & parser.execs) | 298 | deps = deps | (keys & parser.execs) |
299 | deps |= set((d.getVarFlag(key, "vardeps") or "").split()) | 299 | deps |= set((d.getVarFlag(key, "vardeps", True) or "").split()) |
300 | deps -= set((d.getVarFlag(key, "vardepsexclude") or "").split()) | 300 | deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split()) |
301 | except: | 301 | except: |
302 | bb.note("Error expanding variable %s" % key) | 302 | bb.note("Error expanding variable %s" % key) |
303 | raise | 303 | raise |
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index c8cd8f8739..30f9cbc2d4 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py | |||
@@ -277,12 +277,15 @@ class DataSmart: | |||
277 | self._makeShadowCopy(var) | 277 | self._makeShadowCopy(var) |
278 | self.dict[var][flag] = flagvalue | 278 | self.dict[var][flag] = flagvalue |
279 | 279 | ||
280 | def getVarFlag(self, var, flag): | 280 | def getVarFlag(self, var, flag, exp = False): |
281 | local_var = self._findVar(var) | 281 | local_var = self._findVar(var) |
282 | value = None | ||
282 | if local_var: | 283 | if local_var: |
283 | if flag in local_var: | 284 | if flag in local_var: |
284 | return copy.copy(local_var[flag]) | 285 | value = copy.copy(local_var[flag]) |
285 | return None | 286 | if exp and value: |
287 | value = self.expand(value, None) | ||
288 | return value | ||
286 | 289 | ||
287 | def delVarFlag(self, var, flag): | 290 | def delVarFlag(self, var, flag): |
288 | local_var = self._findVar(var) | 291 | local_var = self._findVar(var) |