diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2009-01-01 14:43:54 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-01-03 16:25:20 +0000 |
commit | ade351e2f4c3693d4c2ecf3891899c2dcd082491 (patch) | |
tree | 5087685a70305a6d7792f2e622fca7654b6d0ced /bitbake/lib/bb/parse/parse_py | |
parent | 28fd9dadbdf842d5db32e893be85068f9b2b114a (diff) | |
download | poky-ade351e2f4c3693d4c2ecf3891899c2dcd082491.tar.gz |
bitbake: Add in code to support the BBCLASSEXTEND variable. Virtual native/sdk recipes then become possible
Diffstat (limited to 'bitbake/lib/bb/parse/parse_py')
-rw-r--r-- | bitbake/lib/bb/parse/parse_py/BBHandler.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py index 3a309aed60..97786c4202 100644 --- a/bitbake/lib/bb/parse/parse_py/BBHandler.py +++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py | |||
@@ -181,7 +181,21 @@ def handle(fn, d, include = 0): | |||
181 | classes.remove(__classname__) | 181 | classes.remove(__classname__) |
182 | else: | 182 | else: |
183 | if include == 0: | 183 | if include == 0: |
184 | finalise(fn, d) | 184 | multi = data.getVar('BBCLASSEXTEND', d, 1) |
185 | if multi: | ||
186 | based = bb.data.createCopy(d) | ||
187 | finalise(fn, based) | ||
188 | darray = {"": based} | ||
189 | for cls in multi.split(): | ||
190 | pn = data.getVar('PN', d, True) | ||
191 | based = bb.data.createCopy(d) | ||
192 | data.setVar('PN', pn + '-' + cls, based) | ||
193 | inherit([cls], based) | ||
194 | finalise(fn, based) | ||
195 | darray[cls] = based | ||
196 | return darray | ||
197 | else: | ||
198 | finalise(fn, d) | ||
185 | bbpath.pop(0) | 199 | bbpath.pop(0) |
186 | if oldfile: | 200 | if oldfile: |
187 | bb.data.setVar("FILE", oldfile, d) | 201 | bb.data.setVar("FILE", oldfile, d) |