diff options
| author | Richard Purdie <rpurdie@linux.intel.com> | 2009-01-03 16:33:11 +0000 |
|---|---|---|
| committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-01-03 16:33:11 +0000 |
| commit | 772ec7db089f5fefd85e1e37695a22009e76d3bc (patch) | |
| tree | 4f3f9066803f61b1f1898c1d39dff4f800239b40 /bitbake-dev/lib/bb/parse/parse_py/BBHandler.py | |
| parent | ee0faf1346cabb0c90f43891ede3f88878f87b8b (diff) | |
| download | poky-772ec7db089f5fefd85e1e37695a22009e76d3bc.tar.gz | |
bitbake-dev: Add BBCLASSEXTEND support
Diffstat (limited to 'bitbake-dev/lib/bb/parse/parse_py/BBHandler.py')
| -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): | |||
| 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 | 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) | ||
| 186 | bbpath.pop(0) | 199 | bbpath.pop(0) |
| 187 | if oldfile: | 200 | if oldfile: |
| 188 | bb.data.setVar("FILE", oldfile, d) | 201 | bb.data.setVar("FILE", oldfile, d) |
