This is needed to build boost asio as a shared library rather than a
header-only library, which is needed to save memory.

Signed-off-by: Gustav Lindberg <[email protected]>
---
 .../boost/boost-asio/boost_asio.cpp           |  1 +
 .../boost/boost-asio_1.92.0.bb                | 33 +++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 meta/recipes-support/boost/boost-asio/boost_asio.cpp
 create mode 100644 meta/recipes-support/boost/boost-asio_1.92.0.bb

diff --git a/meta/recipes-support/boost/boost-asio/boost_asio.cpp 
b/meta/recipes-support/boost/boost-asio/boost_asio.cpp
new file mode 100644
index 0000000000..bf00c8ff26
--- /dev/null
+++ b/meta/recipes-support/boost/boost-asio/boost_asio.cpp
@@ -0,0 +1 @@
+#include <boost/asio/impl/src.hpp>
diff --git a/meta/recipes-support/boost/boost-asio_1.92.0.bb 
b/meta/recipes-support/boost/boost-asio_1.92.0.bb
new file mode 100644
index 0000000000..a71e647303
--- /dev/null
+++ b/meta/recipes-support/boost/boost-asio_1.92.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Boost.Asio shared library shim"
+DESCRIPTION = "Builds libboost_asio as a shared library from 
boost/asio/impl/src.hpp"
+HOMEPAGE = "https://www.boost.org/doc/libs/1_90_0/doc/html/boost_asio.html";
+
+DEPENDS = "boost"
+
+# Reuse Boost source and licensing metadata.
+require recipes-support/boost/boost-${PV}.inc
+
+SRC_URI += " file://boost_asio.cpp"
+
+MAJOR_VER = "${@oe.utils.trim_version("${PV}", 1)}"
+
+do_compile() {
+       ${CXX} ${CPPFLAGS} ${CXXFLAGS} \
+               -std=c++23 \
+               -DBOOST_ASIO_DYN_LINK=1 \
+               -fPIC \
+               -shared \
+               -Wl,-soname,libboost_asio.so.${MAJOR_VER} \
+               ${UNPACKDIR}/boost_asio.cpp \
+               ${LDFLAGS} \
+               -o ${B}/libboost_asio.so.${PV}
+}
+
+do_install() {
+       install -d ${D}${libdir}
+       install -m 0755 ${B}/libboost_asio.so.${PV} ${D}${libdir}/
+       ln -sf libboost_asio.so.${PV} 
${D}${libdir}/libboost_asio.so.${MAJOR_VER}
+       ln -sf libboost_asio.so.${MAJOR_VER} ${D}${libdir}/libboost_asio.so
+}
+
+BBCLASSEXTEND = "native"
-- 
2.43.0

Fix review comments: extract major version into a variable and upgrade boost 
version to 1.92.0.
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#244737): 
https://lists.openembedded.org/g/openembedded-core/message/244737
Mute This Topic: https://lists.openembedded.org/mt/121010231/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

  • [OE-core] [PATCHv4] boost... Gustav Lindberg via lists.openembedded.org

Reply via email to