[OE-core] RFC: Separate build dir for autotools

Martin Jansa martin.jansa at gmail.com
Mon Feb 24 15:27:53 UTC 2014


On Mon, Feb 24, 2014 at 02:58:01PM +0000, Richard Purdie wrote:
> For a while poky and others have been using the seperatebuilddir.inc
> file. This makes ${S} != ${B} and means that ${B} can be wiped when
> configuration changes.
> 
> This helps deal with the fact that autotools and friends are not
> particular good at rebuilding things that change. The recent libcheck
> upgrade which broke bluez4 builds is but one example of the kind of
> problem we can hit. Sadly bluez4 doesn't work for S!=B so it didn't
> protect against that issue but it does protect other packages.
> 
> I'd really love to switch the default in autotools.bbclass to make this
> the default and then have broken packages opt out of it.
> 
> I can deal with OE-Core and make sure the metadata there is updated, my
> bigger worry is what this would do to other layers.
> 
> The options I can see are therefore basically:
> 
> a) We change the default in autotools.bbclass and fix things that break

If there is patch to do that, I'm willing to run my world builds with it
to generate updated
www.openembedded.org/wiki/Bitbake_World_Status
so that we have some estimate how many recipes will be broken.

Can we start by adding
include conf/distro/include/seperatebuilddir.inc
to
conf/distro/defaultsetup.conf
? so that more people start using it and possibly report issues in their
builds?

> b) We introduce an "autotools2" class and have recipes inherit that.
> This version would default to separate builddirs. It does mean change to
> all the "good" recipes rather than the broken ones though and hence a
> fair bit of churn.

or introduce "autotools-noseparatebuilddir" as easy to use fix for
broken recipes from a), that will make it easier to search for recipes
to fix (as some kind of janitor task).

> Have we got the willpower to fix a)? is b) an option? Other ideas?

We don't have willpower to fix all issues in Bitbake_World_Status so I
don't expect many people jumping on task of fixing separate B in some
less used recipes/layers (but I can volunteer to replace
"s/autotools/autotools-noseparatebuilddir/g" to keep my World_Status
close to current state).

> One way or another I think we should try and switch things somehow...

Agreed, it went quite smoothly with cmake, qmake5, so autotools is next
:).

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20140224/9a3725ba/attachment-0002.sig>


More information about the Openembedded-core mailing list