From: "André Draszik" <git@andred.net>
To: jackie.huang@windriver.com, openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 2/2 v2] boost: add support for additional boost libs
Date: Mon, 26 Sep 2016 09:53:30 +0100 [thread overview]
Message-ID: <1474880010.31418.8.camel@andred.net> (raw)
In-Reply-To: <b4dd791086d6e09a415d5dcd2afafa7906aab3c4.1474875470.git.jackie.huang@windriver.com>
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
>
next prev parent reply other threads:[~2016-09-26 8:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1474880010.31418.8.camel@andred.net \
--to=git@andred.net \
--cc=jackie.huang@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox