[OE-core] [PATCH 2/2 v2] boost: add support for additional boost libs
André Draszik
git at andred.net
Tue Sep 27 09:13:14 UTC 2016
On Di, 2016-09-27 at 08:22 +0000, Huang, Jie (Jackie) wrote:
>
> >
> > -----Original Message-----
> > From: André Draszik [mailto:git at andred.net]
> > Sent: Tuesday, September 27, 2016 4:09 PM
> > To: Huang, Jie (Jackie); openembedded-core at lists.openembedded.org
> > Subject: Re: [OE-core] [PATCH 2/2 v2] boost: add support for additional
> > boost libs
> >
> > On Di, 2016-09-27 at 02:26 +0000, Huang, Jie (Jackie) wrote:
> > >
> > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: André Draszik [mailto:git at andred.net]
> > > > Sent: Monday, September 26, 2016 4:54 PM
> > > > To: Huang, Jie (Jackie); openembedded-core at lists.openembedded.org
> > > > Subject: Re: [OE-core] [PATCH 2/2 v2] boost: add support for
> > > > additional
> > > > boost libs
> > > >
> > > > On Mo, 2016-09-26 at 15:56 +0800, jackie.huang at windriver.com wrote:
> > > > >
> > > > >
> > > > > From: Jackie Huang <jackie.huang at windriver.com>
> > > > >
> > > > > * Added libs:
> > > > > - container
> > > > > - context
> > > > > - coroutine
> > > > > - exception
> > > > > - graph_parallel
> > > > > - locale
> > > > > - math
> > > > > - mpi
> > > > > - wave
> > > > >
> > > > > * Add PACKAGECONFIG to add proper dependencies for:
> > > > > graph_parallel, locale, and mpi.
> > > > >
> > > > > * boost-mpi depends on mpich which is in meta-oe,
> > > > > and boost-graph_parallel depends on boost-mpi,
> > > > > so they are disabled by default, but can be enabled
> > > > > in a distro that needs them.
> > > > >
> > > > > * context and coroutine are added only for x86 and powerpc.
> > > > >
> > > > > Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
> > > > > ---
> > > > > meta/recipes-support/boost/boost.inc | 33
> > > > > ++++++++++++++++++++++++++++++-
> > > > > --
> > > > > 1 file changed, 30 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-
> > > > > support/boost/boost.inc
> > > > > index 5696b6a..7637a4e 100644
> > > > > --- a/meta/recipes-support/boost/boost.inc
> > > > > +++ b/meta/recipes-support/boost/boost.inc
> > > > > @@ -8,11 +8,14 @@ ARM_INSTRUCTION_SET_armv5 = "arm"
> > > > > BOOST_LIBS = "\
> > > > > atomic \
> > > > > chrono \
> > > > > + container \
> > > > > date_time \
> > > > > + exception \
> > > > > filesystem \
> > > > > graph \
> > > > > iostreams \
> > > > > log \
> > > > > + math \
> > > > > program_options \
> > > > > random \
> > > > > regex \
> > > > > @@ -22,12 +25,28 @@ BOOST_LIBS = "\
> > > > > timer \
> > > > > test \
> > > > > thread \
> > > > > + wave \
> > > > > "
> > > > >
> > > > > -# optional boost-python library
> > > > > -PACKAGECONFIG ??= ""
> > > > > +# only supported by x86 and powerpc
> > > > > +BOOST_LIBS_append_x86 = " context coroutine"
> > > > > +BOOST_LIBS_append_x86-64 = " context coroutine"
> > > > > +BOOST_LIBS_append_powerpc = " context coroutine"
> > > > > +
> > > > > +# optional libraries
> > > > > +PACKAGECONFIG ??= "locale"
> > > > > +PACKAGECONFIG[locale] = ",,icu"
> > > > > +PACKAGECONFIG[graph_parallel] = ",,,boost-mpi mpich"
> > > > > +PACKAGECONFIG[mpi] = ",,mpich"
> > > > > PACKAGECONFIG[python] = ",,python python3"
> > > > > -BOOST_LIBS += "${@bb.utils.contains('PACKAGECONFIG', 'python',
> > > > > 'python
> > > > > python3', '', d)}"
> > > > > +
> > > > > +BOOST_LIBS += "\
> > > > > + ${@bb.utils.contains('PACKAGECONFIG', 'locale', 'locale', '',
> > > > > d)}
> > > > > \
> > > > > + ${@bb.utils.contains('PACKAGECONFIG', 'graph_parallel',
> > > > > 'graph_parallel mpi', \
> > > > > + bb.utils.contains('PACKAGECONFIG',
> > > > > 'mpi',
> > > > > 'mpi',
> > > > > '', d), d)} \
> > > > > + ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python
> > > > > python3',
> > > > > '',
> > > > > d)} \
> > > > > +"
> > > >
> > > > Rather than having two ways to define what packages to build,
> > > > PACKAGECONFIG
> > > > and BOOST_LIBS, where each of them only supports a different subset
> > > > of
> > >
> > > I'm not a fan of this way, I just keep using the way it was.
> > >
> > > >
> > > >
> > > > boost's libraries, can we just have one, PACKAGECONFIG, and have it
> > > > support
> > > > all of the potential libraries?
> > >
> > > Yes, I think it's possible, but it will most likely end up with many
> > > empty
> > > PACKAGECONFIG definitions like:
> > > PACKAGECONFIG[atomic] = ",,,"
> > > PACKAGECONFIG[chrono] = ",,,"
> > > PACKAGECONFIG[container] = ",,,"
> > > PACKAGECONFIG[date_time] = ",,,"
> > > PACKAGECONFIG[exception] = ",,,"
> > >
> > > If you think it's a better way and no other objection, I think I will
> > > do
> > > that in a
> > > separate commit as follow-up.
> >
> > I don't think you'd need empty PACKAGECONFIG[flag] definitions, see
> > base.bbclass.
>
> Could you be more specific?
>
> I think it's needed because I got QA issues without the definitions:
>
> WARNING: boost-1.61.0-r0 do_configure: QA Issue: boost: invalid
> PACKAGECONFIG: atomic [invalid-packageconfig]
OK, you're right. That's from insane.bbclass :-(
Cheers,
Andre'
More information about the Openembedded-core
mailing list