[OE-core] [PATCH 15/16] distro: Add separatebuilddir.inc

Richard Purdie richard.purdie at linuxfoundation.org
Thu Mar 21 22:00:17 UTC 2013


On Thu, 2013-03-21 at 21:50 +0100, Martin Jansa wrote:
> On Thu, Mar 21, 2013 at 03:55:14PM +0000, Richard Purdie wrote:
> > Going forward its going to be useful to separate build data from source data
> > in those autotooled projects which support it. Unfortunately there is a lot
> > of breakage so for now, this starts the creation of an opt in list which
> > we can iterate over enable more recipes over time.
> > 
> > Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> > ---
> >  meta/conf/distro/defaultsetup.conf            |    1 +
> >  meta/conf/distro/include/seperatebuilddir.inc |  772 +++++++++++++++++++++++++
> >  2 files changed, 773 insertions(+)
> >  create mode 100644 meta/conf/distro/include/seperatebuilddir.inc
> > 
> > diff --git a/meta/conf/distro/defaultsetup.conf b/meta/conf/distro/defaultsetup.conf
> > index be28510..5eb6275 100644
> > --- a/meta/conf/distro/defaultsetup.conf
> > +++ b/meta/conf/distro/defaultsetup.conf
> > @@ -1,6 +1,7 @@
> >  include conf/distro/include/default-providers.inc
> >  include conf/distro/include/default-versions.inc
> >  include conf/distro/include/default-distrovars.inc
> > +include conf/distro/include/seperatebuilddir.inc
> 
> Why not add .inc file without including it in defaultsetup.conf so that
> people who want to use it can play with it without influencing others?

This change as it stands should be safe for everyone. My worry is that
people won't test with it and the people using it will have to fix bugs
as they get introduced. If we want to do the opt in approach, we can do
that though (its plan B).

I didn't make the change universally apply since it will break meta-oe
quite badly as things stand today and I know first hand the effort
needed to clean up a batch of recipes.

I should also mention why this is important. With this code enabled, the
build output is cleaned when a package reconfigures so builds become a
bit more stable (e.g. the libpng issue doesn't occur with this applied).

> >  include conf/distro/include/world-broken.inc
> >  
> >  TCMODE ?= "default"
> > diff --git a/meta/conf/distro/include/seperatebuilddir.inc b/meta/conf/distro/include/seperatebuilddir.inc
> > new file mode 100644
> > index 0000000..e1789e0
> > --- /dev/null
> > +++ b/meta/conf/distro/include/seperatebuilddir.inc
> > @@ -0,0 +1,772 @@
> > +# List of autotools recipes which support building with external build directories
> > +# i.e. ${B} != ${S}
> > +SEPB = "${WORKDIR}/build"
> > +
> 
> Is there some plan to move this information to recipes? It would be much
> easier to extend this list in layers. Something like set SEPB in recipe
> and then set B = "${SEPB}" in .inc if it's not empty.

That is something we need to think about. I'd really like to make
separate B the default and then add information to the recipes about the
exceptions which don't work. Its going to be a bit of work before we get
there though so this is a stopgap solution.

Cheers,

Richard





More information about the Openembedded-core mailing list