diff options
Diffstat (limited to 'bitbake/bin')
-rwxr-xr-x | bitbake/bin/bitbake | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index 10cf4bd00a..7fbe7ed5eb 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake | |||
@@ -781,11 +781,19 @@ class BBCooker: | |||
781 | try: | 781 | try: |
782 | self.configuration.data = bb.parse.handle( afile, self.configuration.data ) | 782 | self.configuration.data = bb.parse.handle( afile, self.configuration.data ) |
783 | 783 | ||
784 | # Add the handlers we inherited by INHERITS | 784 | # Add the handlers we inherited by INHERIT |
785 | # we need to do this manually as it is not guranteed | ||
786 | # we will pick up these classes... as we only INHERIT | ||
787 | # on .inc and .bb files but not on .conf | ||
788 | data = bb.data.createCopy( self.configuration.data ) | ||
789 | inherits = ["base"] + (bb.data.getVar('INHERIT', data, True ) or "").split() | ||
790 | for inherit in inherits: | ||
791 | data = bb.parse.handle( os.path.join('classes', '%s.bbclass' % inherit ), data, True ) | ||
792 | |||
785 | # FIXME: This assumes that we included at least one .inc file | 793 | # FIXME: This assumes that we included at least one .inc file |
786 | for var in bb.data.keys(self.configuration.data): | 794 | for var in bb.data.keys(data): |
787 | if bb.data.getVarFlag(var, 'handler', self.configuration.data): | 795 | if bb.data.getVarFlag(var, 'handler', data): |
788 | bb.event.register(var,bb.data.getVar(var,self.configuration.data)) | 796 | bb.event.register(var,bb.data.getVar(var, data)) |
789 | 797 | ||
790 | except IOError: | 798 | except IOError: |
791 | bb.fatal( "Unable to open %s" % afile ) | 799 | bb.fatal( "Unable to open %s" % afile ) |