All of lore.kernel.org
 help / color / mirror / Atom feed
From: Siva Balasubramanian <sivakumar.bs@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: alex@linutronix.de, mathieu.dubois-briand@bootlin.com,
	Siva Balasubramanian <sivakumar.bs@gmail.com>
Subject: [OE-core][PATCH] boost: install CMake config for header-only system library
Date: Fri,  3 Jul 2026 15:29:25 +0530	[thread overview]
Message-ID: <20260703095925.265641-1-sivakumar.bs@gmail.com> (raw)

In 1.91.0 (4981f3087a30) boost-system became a header-only "modular"
library with no separate shared object, and was therefore dropped from
BOOST_LIBS. As a side effect its CMake package config is no longer
installed: the top-level b2 install target only ships configs for the
libraries selected via --with-<library>, and 'system' can no longer be
named there (b2 errors out with "wrong library name 'system'").

Downstream software that does find_package(Boost COMPONENTS system) then
fails to configure and has to be patched.

Install the modular 'libs/system//install' target explicitly from
do_install so that lib/cmake/boost_system-<ver>/ is shipped again in the
-dev package. The target is header-only, so no library is built or
packaged; only the CMake config (and already-present headers) are added.

Verified with a from-scratch build: boost_system-config.cmake is packaged
into boost-dev and find_package(Boost REQUIRED COMPONENTS system)
succeeds against the installed tree again.

[YOCTO #16346]

Signed-off-by: Siva Balasubramanian <sivakumar.bs@gmail.com>
---
 meta/recipes-support/boost/boost.inc | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 7a343e54f6..3cd71c4d6e 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -203,6 +203,17 @@ do_install() {
 		--libdir=${D}${libdir} \
 		--includedir=${D}${includedir} \
 		install
+
+	# In 1.91 boost-system became a header-only "modular" library and is no
+	# longer selectable through --with-system, so it is not part of BOOST_LIBS
+	# and the top-level install target no longer ships its CMake package
+	# config. Install that modular target explicitly so downstream
+	# find_package(Boost COMPONENTS system) keeps working.
+	b2 ${BJAM_OPTS} \
+		--libdir=${D}${libdir} \
+		--includedir=${D}${includedir} \
+		libs/system//install
+
 	for lib in ${BOOST_LIBS}; do
 		if [ -e ${D}${libdir}/libboost_${lib}.a ]; then
 			ln -s libboost_${lib}.a ${D}${libdir}/libboost_${lib}-mt.a
-- 
2.34.1



             reply	other threads:[~2026-07-03  9:59 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-03  9:59 Siva Balasubramanian [this message]
2026-07-03 21:44 ` [OE-core][PATCH] boost: install CMake config for header-only system library Alexander Kanavin

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=20260703095925.265641-1-sivakumar.bs@gmail.com \
    --to=sivakumar.bs@gmail.com \
    --cc=alex@linutronix.de \
    --cc=mathieu.dubois-briand@bootlin.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 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.