Patchwork boost: set up PACKAGECONFIG for boost-python library

login
register
mail settings
Submitter Lukas Bulwahn
Date Sept. 16, 2013, 4:59 a.m.
Message ID <1379307553-2744-1-git-send-email-lukas.bulwahn@oss.bmw-carit.de>
Download mbox | patch
Permalink /patch/58081/
State Accepted
Commit 7568bfdd114597956a1da68746f207ec7f93a48d
Headers show

Comments

Lukas Bulwahn - Sept. 16, 2013, 4:59 a.m.
Until now, the comment in the boost.inc file suggested to enable
the boost-python library by uncommenting some lines in that file.
Using the new PACKAGECONFIG feature, boost-python can now be added
optionally without need to modify the file or copying those lines
into a bbappend file.
Furthermore, we obtain the python version by inheriting python-dir
instead of fixing the python version in this file.

This commit is motivated by the need in the meta-ros layer, as
discussed in the issue #145 of the meta-ros issue tracker [1].

[1] https://github.com/bmwcarit/meta-ros/pull/145

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
---
 meta/recipes-support/boost/boost.inc |   15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
Lukas Bulwahn - Sept. 23, 2013, 5:47 a.m.
On 09/16/2013 06:59 AM, Lukas Bulwahn wrote:
> Until now, the comment in the boost.inc file suggested to enable
> the boost-python library by uncommenting some lines in that file.
> Using the new PACKAGECONFIG feature, boost-python can now be added
> optionally without need to modify the file or copying those lines
> into a bbappend file.
> Furthermore, we obtain the python version by inheriting python-dir
> instead of fixing the python version in this file.
>
> This commit is motivated by the need in the meta-ros layer, as
> discussed in the issue #145 of the meta-ros issue tracker [1].
>
> [1] https://github.com/bmwcarit/meta-ros/pull/145
>
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
> ---
>   meta/recipes-support/boost/boost.inc |   15 ++++++++-------
>   1 file changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
> [...]
This patch has been pending since last Monday. Are there any general 
concerns about this patch or has it been simply overlooked?

Yours sincerely,

Lukas Bulwahn

Patch

diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 5a219c5..f13051c 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -18,11 +18,12 @@  BOOST_LIBS = "\
 	thread \
 	"
 
-# To enable python, uncomment the following:
-#BOOST_LIBS += "python"
-#DEPENDS += "python"
-#PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}"
-#PYTHON_VERSION = "2.7"
+# optional boost-python library
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[python] = ",,python"
+BOOST_LIBS += "${@base_contains('PACKAGECONFIG', 'python', 'python', '', d)}"
+inherit python-dir
+PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}"
 
 # Make a package for each library, plus -dev
 PACKAGES = "${PN}-dbg ${BOOST_PACKAGES}"
@@ -95,7 +96,7 @@  BJAM_TOOLS   = "-sTOOLS=gcc \
 		'-sGCC_INCLUDE_DIRECTORY=${STAGING_INCDIR}' \
 		'-sGCC_STDLIB_DIRECTORY=${STAGING_LIBDIR}' \
 		'-sBUILD=release <optimization>space <threading>multi <inlining>on <debug-symbols>off' \
-		'-sPYTHON_VERSION=${PYTHON_VERSION}' \
+		'-sPYTHON_VERSION=${PYTHON_BASEVERSION}' \
 		'-sPYTHON_ROOT=${PYTHON_ROOT}' \
 		'--layout=system' \
 		"
@@ -136,7 +137,7 @@  do_boostconfig() {
 		echo 'using gcc : 4.3.1 : ${CXX} : compileflags -DBOOST_SP_USE_PTHREADS -I${includedir} linkflags -L${libdir} ;' >> ${S}/tools/build/v2/user-config.jam
 	fi	
 
-	echo "using python : ${PYTHON_VERSION} : : ${STAGING_INCDIR}/python${PYTHON_VERSION} ;" >> ${S}/tools/build/v2/user-config.jam
+	echo "using python : ${PYTHON_BASEVERSION} : : ${STAGING_INCDIR}/python${PYTHON_BASEVERSION} ;" >> ${S}/tools/build/v2/user-config.jam
 
 	CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-bjam=bjam --with-toolset=gcc --with-python-root=${PYTHON_ROOT}
 	sed -i '/^using python/d' project-config.jam