diff options
Diffstat (limited to 'bitbake-dev/lib/bb/parse')
-rw-r--r-- | bitbake-dev/lib/bb/parse/parse_py/BBHandler.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py b/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py index 00ad6ef4fe..5a128e8673 100644 --- a/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py +++ b/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py @@ -181,8 +181,21 @@ def handle(fn, d, include = 0): classes.remove(__classname__) else: if include == 0: - finalise(fn, d) - + multi = data.getVar('BBCLASSEXTEND', d, 1) + if multi: + based = bb.data.createCopy(d) + finalise(fn, based) + darray = {"": based} + for cls in multi.split(): + pn = data.getVar('PN', d, True) + based = bb.data.createCopy(d) + data.setVar('PN', pn + '-' + cls, based) + inherit([cls], based) + finalise(fn, based) + darray[cls] = based + return darray + else: + finalise(fn, d) bbpath.pop(0) if oldfile: bb.data.setVar("FILE", oldfile, d) |