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]>
---
 meta/conf/distro/include/maintainers.inc      |  1 +
 .../boost/boost-asio/boost_asio.cpp           |  1 +
 .../boost/boost-asio_1.92.0.bb                | 33 +++++++++++++++++++
 3 files changed, 35 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/conf/distro/include/maintainers.inc 
b/meta/conf/distro/include/maintainers.inc
index 99242af484..0df2a731a4 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -76,6 +76,7 @@ RECIPE_MAINTAINER:pn-blueprint-compiler = "Liu Yiding 
<[email protected]>"
 RECIPE_MAINTAINER:pn-bluez5 = "Unassigned <[email protected]>"
 RECIPE_MAINTAINER:pn-bmaptool = "Trevor Woerner <[email protected]>"
 RECIPE_MAINTAINER:pn-boost = "Unassigned <[email protected]>"
+RECIPE_MAINTAINER:pn-boost-asio = "Gustav Lindberg <[email protected]>"
 RECIPE_MAINTAINER:pn-boost-build-native = "Unassigned 
<[email protected]>"
 RECIPE_MAINTAINER:pn-bootchart2 = "Unassigned <[email protected]>"
 RECIPE_MAINTAINER:pn-bsd-headers = "Khem Raj <[email protected]>"
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..e275a3b61b
--- /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;subdir=${BOOST_P}"
+
+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} \
+               ${S}/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

Add myself as maintainer
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#244903): 
https://lists.openembedded.org/g/openembedded-core/message/244903
Mute This Topic: https://lists.openembedded.org/mt/121047998/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to