devtool: modify: use B=S if that is the default for the recipe

Makes the build succeed for packages which do not support separate build
directory, e.g. zlib. The same outcome could be achieved with the
--same-dir option, but, it's generally hard to tell if a random package
would need that option. The negative side effect of this patch is that
dev srctree (of some packages that build fine without this modification)
gets dirtied by build artefacts.

(From OE-Core rev: 6ac5692426956e276ba2119f917b0f30791e6cd6)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Acked-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Markus Lehtonen 2015-04-27 10:53:13 +01:00 committed by Richard Purdie
parent 46add1daee
commit ee0ff82b56
1 changed files with 12 additions and 5 deletions

View File

@ -384,12 +384,19 @@ def modify(args, config, basepath, workspace):
f.write('inherit externalsrc\n')
f.write('# NOTE: We use pn- overrides here to avoid affecting multiple variants in the case where the recipe uses BBCLASSEXTEND\n')
f.write('EXTERNALSRC_pn-%s = "%s"\n' % (args.recipename, srctree))
if args.same_dir or bb.data.inherits_class('autotools-brokensep', rd):
if args.same_dir:
logger.info('using source tree as build directory since --same-dir specified')
else:
logger.info('using source tree as build directory since original recipe inherits autotools-brokensep')
b_is_s = True
if args.same_dir:
logger.info('using source tree as build directory since --same-dir specified')
elif bb.data.inherits_class('autotools-brokensep', rd):
logger.info('using source tree as build directory since original recipe inherits autotools-brokensep')
elif rd.getVar('B', True) == s:
logger.info('using source tree as build directory since that is the default for this recipe')
else:
b_is_s = False
if b_is_s:
f.write('EXTERNALSRC_BUILD_pn-%s = "%s"\n' % (args.recipename, srctree))
if initial_rev:
f.write('\n# initial_rev: %s\n' % initial_rev)
for commit in commits: