All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2 v2] boost: add support for additional boost libs
@ 2016-09-26  7:56 jackie.huang
  2016-09-26  7:56 ` [PATCH 1/2 v2] boost: disable pch when build boost-math jackie.huang
  2016-09-26  7:56 ` [PATCH 2/2 v2] boost: add support for additional boost libs jackie.huang
  0 siblings, 2 replies; 10+ messages in thread
From: jackie.huang @ 2016-09-26  7:56 UTC (permalink / raw)
  To: openembedded-core

From: Jackie Huang <jackie.huang@windriver.com>

Changes in v2:

1. Add a workaround as a separate commit for the issue found in:
http://autobuilder.yocto.io:8010/builders/nightly-x86-64-lsb/builds/56/

2. Add PACKAGECONFIG for graph_parallel and mpi but disable by default
   since they depend on mpich which is in meta-oe.

3. Add proper configs in user-config.jam for boost-mpi.

Tested with:
- default PACKAGECONFIG
- all libs in PACKAGECONFIG (need to add meta-oe)

Notes:
boost-exception will not be created since it's intentional.

----
The following changes since commit 8dfcfbeb14a179a5d5722007d7c986da1dd41b40:

  arch-mips: Add mips64-o32 tunes (2016-09-24 07:30:10 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib.git jhuang0/r_add_boost_libs_160926-1
  http://git.pokylinux.org/cgit.cgi//log/?h=jhuang0/r_add_boost_libs_160926-1

Jackie Huang (2):
  boost: disable pch when build boost-math
  boost: add support for additional boost libs

 meta/recipes-support/boost/boost.inc               | 33 ++++++++++++++++++++--
 .../boost/boost-math-disable-pch-for-gcc.patch     | 31 ++++++++++++++++++++
 meta/recipes-support/boost/boost_1.61.0.bb         |  1 +
 3 files changed, 62 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch

-- 
2.8.3



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2 v2] boost: disable pch when build boost-math
  2016-09-26  7:56 [PATCH 0/2 v2] boost: add support for additional boost libs jackie.huang
@ 2016-09-26  7:56 ` jackie.huang
  2016-09-26  7:56 ` [PATCH 2/2 v2] boost: add support for additional boost libs jackie.huang
  1 sibling, 0 replies; 10+ messages in thread
From: jackie.huang @ 2016-09-26  7:56 UTC (permalink / raw)
  To: openembedded-core

From: Jackie Huang <jackie.huang@windriver.com>

It's a work around for a defect when build in parallel:
https://svn.boost.org/trac/boost/ticket/12477

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
 .../boost/boost-math-disable-pch-for-gcc.patch     | 31 ++++++++++++++++++++++
 meta/recipes-support/boost/boost_1.61.0.bb         |  1 +
 2 files changed, 32 insertions(+)
 create mode 100644 meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch

diff --git a/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch b/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch
new file mode 100644
index 0000000..595ba17
--- /dev/null
+++ b/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch
@@ -0,0 +1,31 @@
+From cabfcba1ff7511ffd6b91ca244288d44f585aad2 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Fri, 23 Sep 2016 01:04:50 -0700
+Subject: [PATCH] boost-math: disable pch for gcc
+
+Upstream-Status: Inappropriate [*]
+
+* It's a work around for a defect when build in parallel:
+https://svn.boost.org/trac/boost/ticket/12477
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ libs/math/build/Jamfile.v2 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libs/math/build/Jamfile.v2 b/libs/math/build/Jamfile.v2
+index e19fb2e..82472a7 100644
+--- a/libs/math/build/Jamfile.v2
++++ b/libs/math/build/Jamfile.v2
+@@ -13,7 +13,7 @@ project
+       #<toolset>intel-linux:<pch>off
+       <toolset>intel-darwin:<pch>off
+       <toolset>msvc-7.1:<pch>off
+-      <toolset>gcc,<target-os>windows:<pch>off
++      <toolset>gcc:<pch>off
+       #<toolset>gcc:<cxxflags>-fvisibility=hidden
+       <toolset>intel-linux:<cxxflags>-fvisibility=hidden
+       #<toolset>sun:<cxxflags>-xldscope=hidden
+-- 
+2.7.4
+
diff --git a/meta/recipes-support/boost/boost_1.61.0.bb b/meta/recipes-support/boost/boost_1.61.0.bb
index 33f209c..40e3870 100644
--- a/meta/recipes-support/boost/boost_1.61.0.bb
+++ b/meta/recipes-support/boost/boost_1.61.0.bb
@@ -9,4 +9,5 @@ SRC_URI += "\
     file://0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch \
     file://0003-smart_ptr-mips-assembly-doesn-t-compile-in-mips16e-m.patch \
     file://0004-Use-atomic-by-default-when-BOOST_NO_CXX11_HDR_ATOMIC.patch \
+    file://boost-math-disable-pch-for-gcc.patch \
 "
-- 
2.8.3



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2 v2] boost: add support for additional boost libs
  2016-09-26  7:56 [PATCH 0/2 v2] boost: add support for additional boost libs jackie.huang
  2016-09-26  7:56 ` [PATCH 1/2 v2] boost: disable pch when build boost-math jackie.huang
@ 2016-09-26  7:56 ` jackie.huang
  2016-09-26  8:53   ` André Draszik
  2016-09-27 12:28   ` Burton, Ross
  1 sibling, 2 replies; 10+ messages in thread
From: jackie.huang @ 2016-09-26  7:56 UTC (permalink / raw)
  To: openembedded-core

From: Jackie Huang <jackie.huang@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@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)} \
+"
+
 inherit python-dir
 PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}"
 
@@ -54,6 +73,10 @@ python __anonymous () {
 }
 
 # Override the contents of specific packages
+FILES_${PN}-graph = "${libdir}/libboost_graph.so.*"
+FILES_${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*"
+FILES_${PN}-locale = "${libdir}/libboost_locale.so.*"
+FILES_${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*"
 FILES_boost-serialization = "${libdir}/libboost_serialization*.so.* \
 	${libdir}/libboost_wserialization*.so.*"
 FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \
@@ -159,6 +182,10 @@ do_configure() {
 	echo "using python : ${PYTHON_BASEVERSION} : : ${STAGING_INCDIR}/python${PYTHON_BASEVERSION} ;" >> ${WORKDIR}/user-config.jam
 	echo "using python : 3.5 : : ${STAGING_INCDIR}/python3.5m ;" >> ${WORKDIR}/user-config.jam
 
+	if ${@bb.utils.contains('BOOST_LIBS', 'mpi', 'true', 'false', d)}; then
+		echo "using mpi : : <find-shared-library>mpi ;" >> ${WORKDIR}/user-config.jam
+	fi
+
 	CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-bjam=bjam --with-toolset=gcc --with-python-root=${PYTHON_ROOT}
 	sed -i '/^using python/d' ${S}/project-config.jam
 }
-- 
2.8.3



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2 v2] boost: add support for additional boost libs
  2016-09-26  7:56 ` [PATCH 2/2 v2] boost: add support for additional boost libs jackie.huang
@ 2016-09-26  8:53   ` André Draszik
  2016-09-27  2:26     ` Huang, Jie (Jackie)
  2016-09-27 12:28   ` Burton, Ross
  1 sibling, 1 reply; 10+ messages in thread
From: André Draszik @ 2016-09-26  8:53 UTC (permalink / raw)
  To: jackie.huang, openembedded-core

On Mo, 2016-09-26 at 15:56 +0800, jackie.huang@windriver.com wrote:
> From: Jackie Huang <jackie.huang@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@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
boost's libraries, can we just have one, PACKAGECONFIG, and have it support
all of the potential libraries?


Cheers,
Andre'


> +
>  inherit python-dir
>  PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}"
>  
> @@ -54,6 +73,10 @@ python __anonymous () {
>  }
>  
>  # Override the contents of specific packages
> +FILES_${PN}-graph = "${libdir}/libboost_graph.so.*"
> +FILES_${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*"
> +FILES_${PN}-locale = "${libdir}/libboost_locale.so.*"
> +FILES_${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*"
>  FILES_boost-serialization = "${libdir}/libboost_serialization*.so.* \
>  	${libdir}/libboost_wserialization*.so.*"
>  FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \
> @@ -159,6 +182,10 @@ do_configure() {
>  	echo "using python : ${PYTHON_BASEVERSION} : :
> ${STAGING_INCDIR}/python${PYTHON_BASEVERSION} ;" >> ${WORKDIR}/user-
> config.jam
>  	echo "using python : 3.5 : : ${STAGING_INCDIR}/python3.5m ;" >>
> ${WORKDIR}/user-config.jam
>  
> +	if ${@bb.utils.contains('BOOST_LIBS', 'mpi', 'true', 'false',
> d)}; then
> +		echo "using mpi : : <find-shared-library>mpi ;" >>
> ${WORKDIR}/user-config.jam
> +	fi
> +
>  	CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-
> bjam=bjam --with-toolset=gcc --with-python-root=${PYTHON_ROOT}
>  	sed -i '/^using python/d' ${S}/project-config.jam
>  }
> -- 
> 2.8.3
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2 v2] boost: add support for additional boost libs
  2016-09-26  8:53   ` André Draszik
@ 2016-09-27  2:26     ` Huang, Jie (Jackie)
  2016-09-27  8:08       ` André Draszik
  0 siblings, 1 reply; 10+ messages in thread
From: Huang, Jie (Jackie) @ 2016-09-27  2:26 UTC (permalink / raw)
  To: André Draszik, openembedded-core



> -----Original Message-----
> From: André Draszik [mailto:git@andred.net]
> Sent: Monday, September 26, 2016 4:54 PM
> To: Huang, Jie (Jackie); openembedded-core@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@windriver.com wrote:
> > From: Jackie Huang <jackie.huang@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@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.

Thanks,
Jackie

> 
> 
> Cheers,
> Andre'
> 
> 
> > +
> >  inherit python-dir
> >  PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}"
> >
> > @@ -54,6 +73,10 @@ python __anonymous () {
> >  }
> >
> >  # Override the contents of specific packages
> > +FILES_${PN}-graph = "${libdir}/libboost_graph.so.*"
> > +FILES_${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*"
> > +FILES_${PN}-locale = "${libdir}/libboost_locale.so.*"
> > +FILES_${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*"
> >  FILES_boost-serialization = "${libdir}/libboost_serialization*.so.* \
> >  	${libdir}/libboost_wserialization*.so.*"
> >  FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \
> > @@ -159,6 +182,10 @@ do_configure() {
> >  	echo "using python : ${PYTHON_BASEVERSION} : :
> > ${STAGING_INCDIR}/python${PYTHON_BASEVERSION} ;" >> ${WORKDIR}/user-
> > config.jam
> >  	echo "using python : 3.5 : : ${STAGING_INCDIR}/python3.5m ;" >>
> > ${WORKDIR}/user-config.jam
> >
> > +	if ${@bb.utils.contains('BOOST_LIBS', 'mpi', 'true', 'false',
> > d)}; then
> > +		echo "using mpi : : <find-shared-library>mpi ;" >>
> > ${WORKDIR}/user-config.jam
> > +	fi
> > +
> >  	CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-
> > bjam=bjam --with-toolset=gcc --with-python-root=${PYTHON_ROOT}
> >  	sed -i '/^using python/d' ${S}/project-config.jam
> >  }
> > --
> > 2.8.3
> >

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2 v2] boost: add support for additional boost libs
  2016-09-27  2:26     ` Huang, Jie (Jackie)
@ 2016-09-27  8:08       ` André Draszik
  2016-09-27  8:22         ` Huang, Jie (Jackie)
  0 siblings, 1 reply; 10+ messages in thread
From: André Draszik @ 2016-09-27  8:08 UTC (permalink / raw)
  To: Huang, Jie (Jackie), openembedded-core

On Di, 2016-09-27 at 02:26 +0000, Huang, Jie (Jackie) wrote:
> 
> > 
> > -----Original Message-----
> > From: André Draszik [mailto:git@andred.net]
> > Sent: Monday, September 26, 2016 4:54 PM
> > To: Huang, Jie (Jackie); openembedded-core@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@windriver.com wrote:
> > > 
> > > From: Jackie Huang <jackie.huang@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@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.

Cheers,
Andre'



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2 v2] boost: add support for additional boost libs
  2016-09-27  8:08       ` André Draszik
@ 2016-09-27  8:22         ` Huang, Jie (Jackie)
  2016-09-27  9:13           ` André Draszik
  0 siblings, 1 reply; 10+ messages in thread
From: Huang, Jie (Jackie) @ 2016-09-27  8:22 UTC (permalink / raw)
  To: André Draszik, openembedded-core



> -----Original Message-----
> From: André Draszik [mailto:git@andred.net]
> Sent: Tuesday, September 27, 2016 4:09 PM
> To: Huang, Jie (Jackie); openembedded-core@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@andred.net]
> > > Sent: Monday, September 26, 2016 4:54 PM
> > > To: Huang, Jie (Jackie); openembedded-core@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@windriver.com wrote:
> > > >
> > > > From: Jackie Huang <jackie.huang@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@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]

Thanks,
Jackie

> 
> Cheers,
> Andre'


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2 v2] boost: add support for additional boost libs
  2016-09-27  8:22         ` Huang, Jie (Jackie)
@ 2016-09-27  9:13           ` André Draszik
  0 siblings, 0 replies; 10+ messages in thread
From: André Draszik @ 2016-09-27  9:13 UTC (permalink / raw)
  To: Huang, Jie (Jackie), openembedded-core

On Di, 2016-09-27 at 08:22 +0000, Huang, Jie (Jackie) wrote:
> 
> > 
> > -----Original Message-----
> > From: André Draszik [mailto:git@andred.net]
> > Sent: Tuesday, September 27, 2016 4:09 PM
> > To: Huang, Jie (Jackie); openembedded-core@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@andred.net]
> > > > Sent: Monday, September 26, 2016 4:54 PM
> > > > To: Huang, Jie (Jackie); openembedded-core@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@windriver.com wrote:
> > > > > 
> > > > > 
> > > > > From: Jackie Huang <jackie.huang@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@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'



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2 v2] boost: add support for additional boost libs
  2016-09-26  7:56 ` [PATCH 2/2 v2] boost: add support for additional boost libs jackie.huang
  2016-09-26  8:53   ` André Draszik
@ 2016-09-27 12:28   ` Burton, Ross
  2016-09-28  0:43     ` Huang, Jie (Jackie)
  1 sibling, 1 reply; 10+ messages in thread
From: Burton, Ross @ 2016-09-27 12:28 UTC (permalink / raw)
  To: jackie.huang; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 475 bytes --]

On 26 September 2016 at 08:56, <jackie.huang@windriver.com> wrote:

> +FILES_${PN}-graph = "${libdir}/libboost_graph.so.*"
> +FILES_${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*"
> +FILES_${PN}-locale = "${libdir}/libboost_locale.so.*"
> +FILES_${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*"
>

Are all of these really required?  Apart from ${libdir}/mpi.so they look
like they'll be handled by the Python logic in the recipe.

Ross

[-- Attachment #2: Type: text/html, Size: 950 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2 v2] boost: add support for additional boost libs
  2016-09-27 12:28   ` Burton, Ross
@ 2016-09-28  0:43     ` Huang, Jie (Jackie)
  0 siblings, 0 replies; 10+ messages in thread
From: Huang, Jie (Jackie) @ 2016-09-28  0:43 UTC (permalink / raw)
  To: BURTON, ROSS; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 1229 bytes --]

Yes, they are needed for the cases not handled by the python logic, or I met QA issues:

WARNING: Variable key FILES_${PN}-locale (${datadir}/locale) replaces original key FILES_boost-locale (${libdir}/libboost_locale.so.*)
WARNING: boost-1.61.0-r0 do_package: QA Issue: boost: Files/directories were installed but not shipped in any package:
  /usr/lib64/libboost_locale.so.1.61.0

For the graph parts, all libboost_graph* will go into PN-graph and PN-graph_parallel will be empty.

Thanks,
Jackie


From: Burton, Ross [mailto:ross.burton@intel.com]
Sent: Tuesday, September 27, 2016 8:29 PM
To: Huang, Jie (Jackie)
Cc: OE-core
Subject: Re: [OE-core] [PATCH 2/2 v2] boost: add support for additional boost libs


On 26 September 2016 at 08:56, <jackie.huang@windriver.com<mailto:jackie.huang@windriver.com>> wrote:
+FILES_${PN}-graph = "${libdir}/libboost_graph.so.*"
+FILES_${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*"
+FILES_${PN}-locale = "${libdir}/libboost_locale.so.*"
+FILES_${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*"

Are all of these really required?  Apart from ${libdir}/mpi.so they look like they'll be handled by the Python logic in the recipe.

Ross

[-- Attachment #2: Type: text/html, Size: 5742 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-09-28  0:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-26  7:56 [PATCH 0/2 v2] boost: add support for additional boost libs jackie.huang
2016-09-26  7:56 ` [PATCH 1/2 v2] boost: disable pch when build boost-math jackie.huang
2016-09-26  7:56 ` [PATCH 2/2 v2] boost: add support for additional boost libs jackie.huang
2016-09-26  8:53   ` André Draszik
2016-09-27  2:26     ` Huang, Jie (Jackie)
2016-09-27  8:08       ` André Draszik
2016-09-27  8:22         ` Huang, Jie (Jackie)
2016-09-27  9:13           ` André Draszik
2016-09-27 12:28   ` Burton, Ross
2016-09-28  0:43     ` Huang, Jie (Jackie)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.