summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-support/boost
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2020-11-03 03:44:49 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-11-03 23:32:06 +0300
commit4873add6e11c1bd421c83cd08df589f1184aa673 (patch)
treeaec4845be29329cca2a0b2d7c8f94249e48ed067 /poky/meta/recipes-support/boost
parent56a8292be03a7cb27f3b3ad762f4779e7e5ff47d (diff)
downloadopenbmc-4873add6e11c1bd421c83cd08df589f1184aa673.tar.xz
Revert "poky: subtree update:b23aa6b753..ad30a6d470"
This reverts commit af5e4ef732faedf66c6dc1756432e9de2ac72988. This commit introduced openbmc/openbmc#3720 and no solution has been forthcoming. Revert until we can get to the bottom of this. Change-Id: I2fb0d81eb26cf3dadb2f2abdd1a1bb7a95eaf03c
Diffstat (limited to 'poky/meta/recipes-support/boost')
-rw-r--r--poky/meta/recipes-support/boost/bjam-native_1.74.0.bb20
-rw-r--r--poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb23
-rw-r--r--poky/meta/recipes-support/boost/boost.inc28
-rw-r--r--poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch38
-rw-r--r--poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch27
5 files changed, 102 insertions, 34 deletions
diff --git a/poky/meta/recipes-support/boost/bjam-native_1.74.0.bb b/poky/meta/recipes-support/boost/bjam-native_1.74.0.bb
new file mode 100644
index 000000000..d843eb038
--- /dev/null
+++ b/poky/meta/recipes-support/boost/bjam-native_1.74.0.bb
@@ -0,0 +1,20 @@
+require boost-${PV}.inc
+
+SUMMARY = "Portable Boost.Jam build tool for boost"
+SECTION = "devel"
+
+inherit native
+
+SRC_URI += "file://0001-Build-debug-version-of-bjam.patch \
+ file://0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch \
+ "
+
+do_compile() {
+ ./bootstrap.sh --with-toolset=gcc
+}
+
+do_install() {
+ install -d ${D}${bindir}/
+ # install unstripped version for bjam
+ install -c -m 755 b2 ${D}${bindir}/bjam
+}
diff --git a/poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb b/poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb
deleted file mode 100644
index d8096de5a..000000000
--- a/poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Boost.Build"
-SECTION = "devel"
-
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
-SRC_URI = "git://github.com/boostorg/build;protocol=https"
-SRCREV = "632ea768f3eb225b4472c5ed6d20afee708724ad"
-
-inherit native
-
-S = "${WORKDIR}/git"
-
-do_compile() {
- ./bootstrap.sh
-}
-
-do_install() {
- ./b2 install --prefix=${prefix} staging-prefix=${D}${prefix}
-}
-
-# The build is either release mode (pre-stripped) or debug (-O0).
-INSANE_SKIP_${PN} = "already-stripped"
diff --git a/poky/meta/recipes-support/boost/boost.inc b/poky/meta/recipes-support/boost/boost.inc
index cbf9cad70..ea1bc123b 100644
--- a/poky/meta/recipes-support/boost/boost.inc
+++ b/poky/meta/recipes-support/boost/boost.inc
@@ -1,6 +1,6 @@
SUMMARY = "Free peer-reviewed portable C++ source libraries"
SECTION = "libs"
-DEPENDS = "boost-build-native zlib bzip2"
+DEPENDS = "bjam-native zlib bzip2"
CVE_PRODUCT = "boost:boost"
@@ -14,15 +14,11 @@ BOOST_LIBS = "\
atomic \
chrono \
container \
- context \
contract \
- coroutine \
date_time \
exception \
- fiber \
filesystem \
graph \
- headers \
iostreams \
log \
math \
@@ -31,13 +27,23 @@ BOOST_LIBS = "\
regex \
serialization \
system \
+ timer \
test \
thread \
- timer \
- type_erasure \
wave \
"
+# 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"
+BOOST_LIBS_append_arm = " context coroutine"
+BOOST_LIBS_append_aarch64 = " context coroutine"
+# need consistent settings for native builds (x86 override not applied for native)
+BOOST_LIBS_remove_class-native = " context coroutine"
+# does not compile
+BOOST_LIBS_remove_mips16e = "wave"
+
# optional libraries
PACKAGECONFIG ??= "locale python"
PACKAGECONFIG[locale] = ",,icu"
@@ -163,7 +169,7 @@ do_configure() {
# D2194:Fixing the failure of "error: duplicate initialization of gcc with the following parameters" during compilation.
rm -f ${WORKDIR}/user-config.jam
- echo 'using gcc : : ${CXX} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;' >> ${WORKDIR}/user-config.jam
+ echo 'using gcc : 4.3.1 : ${CXX} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;' >> ${WORKDIR}/user-config.jam
# If we want Python then we need to tell Boost *exactly* where to find it
if ${@bb.utils.contains('BOOST_LIBS', 'python', 'true', 'false', d)}; then
@@ -174,7 +180,7 @@ do_configure() {
echo "using mpi : : <find-shared-library>mpi ;" >> ${WORKDIR}/user-config.jam
fi
- CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-bjam=b2 --with-toolset=gcc
+ CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-bjam=bjam --with-toolset=gcc
# Boost can't be trusted to find Python on it's own, so remove any mention
# of it from the boost configuration
@@ -183,7 +189,7 @@ do_configure() {
do_compile() {
cd ${S}
- b2 ${BJAM_OPTS} \
+ bjam ${BJAM_OPTS} \
--prefix=${prefix} \
--exec-prefix=${exec_prefix} \
--libdir=${libdir} \
@@ -193,7 +199,7 @@ do_compile() {
do_install() {
cd ${S}
- b2 ${BJAM_OPTS} \
+ bjam ${BJAM_OPTS} \
--libdir=${D}${libdir} \
--includedir=${D}${includedir} \
install
diff --git a/poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch b/poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch
new file mode 100644
index 000000000..c6dcee915
--- /dev/null
+++ b/poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch
@@ -0,0 +1,38 @@
+From 19c117c3d1388654da484e26afb3fb6c3e4181a9 Mon Sep 17 00:00:00 2001
+From: Daniel Klauer <daniel.klauer@gin.de>
+Date: Tue, 30 Jul 2019 11:39:09 +0200
+Subject: [PATCH] Build debug version of bjam
+
+bjam is stripped by default, this causes QA warning while stripping it
+from do_populate_sysroot():
+
+ WARNING: File '.../tmp/sysroots/x86_64-linux/usr/bin/bjam' \
+ from bjam-native was already stripped, \
+ this will prevent future debugging!
+
+The JAM scripts allow to build unstripped version with '--debug'. Just
+build and install the bjam.debug to stop bjam from being stripped in
+compile step.
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ bootstrap.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bootstrap.sh b/bootstrap.sh
+index ca0b08d58..87f38dcf2 100755
+--- a/bootstrap.sh
++++ b/bootstrap.sh
+@@ -223,7 +223,7 @@ rm -f config.log
+ if test "x$BJAM" = x; then
+ $ECHO -n "Building Boost.Build engine with toolset $TOOLSET... "
+ pwd=`pwd`
+- (cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET") > bootstrap.log 2>&1
++ (cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET" --debug) > bootstrap.log 2>&1
+ if [ $? -ne 0 ]; then
+ echo
+ echo "Failed to build Boost.Build build engine"
+--
+2.17.1
+
diff --git a/poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch b/poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch
new file mode 100644
index 000000000..4c6ef2ed8
--- /dev/null
+++ b/poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch
@@ -0,0 +1,27 @@
+From 2afd025997a57794ce24e07e914b461dfea6ba5f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 26 Aug 2019 16:04:16 +0200
+Subject: [PATCH] build.sh: use -DNDEBUG also in debug builds
+
+Without it, there is a significant performance regression
+when running 'bjam install'.
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ tools/build/src/engine/build.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh
+index a1e4cd335..64e0a4c80 100755
+--- a/tools/build/src/engine/build.sh
++++ b/tools/build/src/engine/build.sh
+@@ -436,7 +436,7 @@ case $B2_OS in
+ ;;
+ esac
+
+-if check_debug_build "$@" ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG}"
++if check_debug_build "$@" ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG} -DNDEBUG"
+ else B2_CXXFLAGS="${B2_CXXFLAGS_RELEASE} -DNDEBUG"
+ fi
+ echo_run ${B2_CXX} ${CXXFLAGS} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2