This is needed to build boost asio as a shared library rather than a header-only library, which is needed to save memory.
This can be enabled by adding `PACKAGECONFIG:append = " asio"` to `boost_%.bbappend`. Signed-off-by: Gustav Lindberg <[email protected]> --- meta/recipes-support/boost/boost.inc | 25 +++++++++++++++++++ .../boost/boost/boost_asio.cpp | 1 + 2 files changed, 26 insertions(+) create mode 100644 meta/recipes-support/boost/boost/boost_asio.cpp diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc index 64a57ddfb2..4ac3f7af5b 100644 --- a/meta/recipes-support/boost/boost.inc +++ b/meta/recipes-support/boost/boost.inc @@ -44,6 +44,7 @@ BOOST_LIBS = "\ type_erasure \ url \ wave \ + ${@bb.utils.contains('PACKAGECONFIG', 'asio', 'asio', '', d)} \ ${@bb.utils.filter('PACKAGECONFIG', 'locale python', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'graph_parallel', 'graph_parallel mpi', \ bb.utils.filter('PACKAGECONFIG', 'mpi', d), d)} \ @@ -51,11 +52,14 @@ BOOST_LIBS = "\ # optional libraries PACKAGECONFIG ??= "locale python" +PACKAGECONFIG[asio] = ",," PACKAGECONFIG[locale] = ",,icu" PACKAGECONFIG[graph_parallel] = ",,,boost-mpi mpich" PACKAGECONFIG[mpi] = ",,mpich" PACKAGECONFIG[python] = ",,python3" +SRC_URI:append = " ${@bb.utils.contains('PACKAGECONFIG', 'asio', 'file://boost_asio.cpp', '', d)}" + inherit python3-dir PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}" @@ -198,6 +202,20 @@ do_compile() { --debug-configuration } +do_compile:append() { + if ${@bb.utils.contains('PACKAGECONFIG', 'asio', 'true', 'false', d)}; then + ${CXX} ${CPPFLAGS} ${CXXFLAGS} \ + -DBOOST_ASIO_DYN_LINK=1 \ + -I${S} \ + -fPIC \ + -shared \ + -Wl,-soname,libboost_asio.so.${PV} \ + ${UNPACKDIR}/boost_asio.cpp \ + ${LDFLAGS} \ + -o ${B}/libboost_asio.so.${PV} + fi +} + do_install() { cd ${S} b2 ${BJAM_OPTS} \ @@ -220,4 +238,11 @@ do_install() { } +do_install:append() { + if ${@bb.utils.contains('PACKAGECONFIG', 'asio', 'true', 'false', d)}; then + install -Dm 0755 ${B}/libboost_asio.so.${PV} ${D}${libdir}/libboost_asio.so.${PV} + ln -sf libboost_asio.so.${PV} ${D}${libdir}/libboost_asio.so + fi +} + BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/boost/boost/boost_asio.cpp b/meta/recipes-support/boost/boost/boost_asio.cpp new file mode 100644 index 0000000000..eb3b7262c3 --- /dev/null +++ b/meta/recipes-support/boost/boost/boost_asio.cpp @@ -0,0 +1 @@ +#include <boost/asio/impl/src.hpp> \ No newline at end of file -- 2.43.0 Move the shared library build to the existing boost recipe, and allow enabling it with a PACKAGECONFIG
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#245020): https://lists.openembedded.org/g/openembedded-core/message/245020 Mute This Topic: https://lists.openembedded.org/mt/121066420/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
