Rework the anon Python so that it doesn't expect to find non-MLPREFIXed FILES
overrides which are then mapped into MLPREFIXed versions, this allows the
apparent hardcoding of boost-{test,serialization} to be written more naturally
(and is significantly less surprising).

With this, and a change to lookup ${BPN} when generating split package names,
generating an explicitly versioned boost package (e.g. "boost-1.82") alongside
the main boost package ("boost") can be done by copying/renaming the older
recipe. This is useful when upstream code hasn't yet been ported to newer
boost and an older version is required.

Signed-off-by: Alex Kiernan <alex.kier...@gmail.com>
---
 meta/recipes-support/boost/boost.inc | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/meta/recipes-support/boost/boost.inc 
b/meta/recipes-support/boost/boost.inc
index 77105aa1fa13..32bd1f7f89fa 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -42,6 +42,9 @@ BOOST_LIBS = "\
        type_erasure \
        url \
        wave \
+       ${@bb.utils.filter('PACKAGECONFIG', 'locale python', d)} \
+       ${@bb.utils.contains('PACKAGECONFIG', 'graph_parallel', 'graph_parallel 
mpi', \
+                            bb.utils.filter('PACKAGECONFIG', 'mpi', d), d)} \
        "
 
 # optional libraries
@@ -51,12 +54,6 @@ PACKAGECONFIG[graph_parallel] = ",,,boost-mpi mpich"
 PACKAGECONFIG[mpi] = ",,mpich"
 PACKAGECONFIG[python] = ",,python3"
 
-BOOST_LIBS += "\
-    ${@bb.utils.filter('PACKAGECONFIG', 'locale python', d)} \
-    ${@bb.utils.contains('PACKAGECONFIG', 'graph_parallel', 'graph_parallel 
mpi', \
-                         bb.utils.filter('PACKAGECONFIG', 'mpi', d), d)} \
-"
-
 inherit python3-dir
 PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}"
 
@@ -69,14 +66,12 @@ python __anonymous () {
     mlprefix = d.getVar("MLPREFIX")
     for lib in d.getVar('BOOST_LIBS').split():
         extras.append("--with-%s" % lib)
-        pkg = "boost-%s" % (lib.replace("_", "-"))
+        pkg = "%s-%s" % (d.getVar("BPN"), lib.replace("_", "-"))
         if "-native" in pn:
             pkg = pkg + "-native"
         packages.append(mlprefix + pkg)
-        if not d.getVar("FILES:%s" % pkg):
+        if not d.getVar("FILES:%s%s" % (mlprefix, pkg)):
                 d.setVar("FILES:%s%s" % (mlprefix, pkg), 
"${libdir}/libboost_%s*.so.*" % lib)
-        else:
-                d.setVar("FILES:%s%s" % (mlprefix, pkg), d.getVar("FILES:%s" % 
pkg))
 
     d.setVar("BOOST_PACKAGES", " ".join(packages))
     d.setVar("BJAM_EXTRA", " ".join(extras))
@@ -86,9 +81,9 @@ python __anonymous () {
 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.* \
+FILES:${PN}-serialization = "${libdir}/libboost_serialization*.so.* \
        ${libdir}/libboost_wserialization*.so.*"
-FILES:boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \
+FILES:${PN}-test = "${libdir}/libboost_prg_exec_monitor*.so.* \
        ${libdir}/libboost_unit_test_framework*.so.*"
 
 # -dev last to pick up the remaining stuff
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#212194): 
https://lists.openembedded.org/g/openembedded-core/message/212194
Mute This Topic: https://lists.openembedded.org/mt/111472117/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to