| Message ID | 20260826095936.307786-1-gustali@axis.com |
|---|---|
| State | New |
| Headers | show |
| Series | None | expand |
> -----Original Message----- > From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Gustav Lindberg via lists.openembedded.org > Sent: den 26 augusti 2026 12:00 > To: openembedded-core@lists.openembedded.org > Cc: Gustav Lindberg <Gustav.Lindberg@axis.com> > Subject: [OE-core] [PATCH 141/141] boost-asio: Add recipe > > This is needed to build boost asio as a shared library rather than a > header-only library, which is needed to save memory. > > Change-Id: I3ac5ed0ccadae3e9d042b9c4eed3a1ab7220a009 Remove the Change-Id. > Signed-off-by: Gustav Lindberg <gustali@axis.com> > --- > .../boost-asio/boost-asio_1.90.0.bb | 33 +++++++++++++++++++ > .../boost-asio/files/boost_asio.cpp | 1 + > 2 files changed, 34 insertions(+) > create mode 100644 meta/recipes-support/boost-asio/boost-asio_1.90.0.bb > create mode 100644 meta/recipes-support/boost-asio/files/boost_asio.cpp > > diff --git a/meta/recipes-support/boost-asio/boost-asio_1.90.0.bb b/meta/recipes-support/boost-asio/boost-asio_1.90.0.bb > new file mode 100644 > index 0000000000..ea534ff172 > --- /dev/null > +++ b/meta/recipes-support/boost-asio/boost-asio_1.90.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" > + > +# Reuse Boost source and licensing metadata from openembedded-core. Since this is aimed for OE-Core, the "from openembedded-core" is redundant and can be removed. > +require recipes-support/boost/boost-${PV}.inc > + > +SRC_URI += " file://boost_asio.cpp" > + > +DEPENDS = "boost" Move DEPENDS up to between HOMEPAGE and the require. > + > +do_compile() { > + ${CXX} ${CPPFLAGS} ${CXXFLAGS} \ > + -std=c++23 \ > + -DBOOST_ASIO_DYN_LINK=1 \ > + -fPIC \ > + -shared \ > + -Wl,-soname,libboost_asio.so.1 \ > + ${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.1 > + ln -sf libboost_asio.so.1 ${D}${libdir}/libboost_asio.so This assumes the major of ${PV} is 1 and updating it will be easy to miss if the major is ever increased. There is a function that can be used to extract part(s) of the version number, e.g.: MAJOR_VER = "${@oe.utils.trim_version("${PV}", 1)}" > +} Use tabs to indent the shell functions above. > + > +FILES:${PN} += "${libdir}/libboost_asio.so.*" This should not be needed. > + > +BBCLASSEXTEND = "native" > diff --git a/meta/recipes-support/boost-asio/files/boost_asio.cpp b/meta/recipes-support/boost-asio/files/boost_asio.cpp > new file mode 100644 > index 0000000000..bf00c8ff26 > --- /dev/null > +++ b/meta/recipes-support/boost-asio/files/boost_asio.cpp > @@ -0,0 +1 @@ > +#include <boost/asio/impl/src.hpp> > -- > 2.43.0 //Peter
> -----Original Message----- > From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Peter Kjellerstedt via lists.openembedded.org > Sent: den 26 augusti 2026 15:36 > To: Gustav Lindberg <Gustav.Lindberg@axis.com>; openembedded-core@lists.openembedded.org > Subject: Re: [OE-core] [PATCH 141/141] boost-asio: Add recipe > > > -----Original Message----- > > From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Gustav Lindberg via lists.openembedded.org > > Sent: den 26 augusti 2026 12:00 > > To: openembedded-core@lists.openembedded.org > > Cc: Gustav Lindberg <Gustav.Lindberg@axis.com> > > Subject: [OE-core] [PATCH 141/141] boost-asio: Add recipe > > > > This is needed to build boost asio as a shared library rather than a > > header-only library, which is needed to save memory. > > > > Change-Id: I3ac5ed0ccadae3e9d042b9c4eed3a1ab7220a009 > > Remove the Change-Id. > > > Signed-off-by: Gustav Lindberg <gustali@axis.com> > > --- > > .../boost-asio/boost-asio_1.90.0.bb | 33 +++++++++++++++++++ > > .../boost-asio/files/boost_asio.cpp | 1 + It would probably also make more sense to put the recipe in "meta/recipes-support/boost" together with the current boost recipe, and put the .cpp file in "meta/recipes-support/boost/boost-asio". > > 2 files changed, 34 insertions(+) > > create mode 100644 meta/recipes-support/boost-asio/boost-asio_1.90.0.bb > > create mode 100644 meta/recipes-support/boost-asio/files/boost_asio.cpp > > > > diff --git a/meta/recipes-support/boost-asio/boost-asio_1.90.0.bb b/meta/recipes-support/boost-asio/boost-asio_1.90.0.bb > > new file mode 100644 > > index 0000000000..ea534ff172 > > --- /dev/null > > +++ b/meta/recipes-support/boost-asio/boost-asio_1.90.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" > > + > > +# Reuse Boost source and licensing metadata from openembedded-core. > > Since this is aimed for OE-Core, the "from openembedded-core" is redundant > and can be removed. > > > +require recipes-support/boost/boost-${PV}.inc > > + > > +SRC_URI += " file://boost_asio.cpp" > > + > > +DEPENDS = "boost" > > Move DEPENDS up to between HOMEPAGE and the require. > > > + > > +do_compile() { > > + ${CXX} ${CPPFLAGS} ${CXXFLAGS} \ > > + -std=c++23 \ > > + -DBOOST_ASIO_DYN_LINK=1 \ > > + -fPIC \ > > + -shared \ > > + -Wl,-soname,libboost_asio.so.1 \ > > + ${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.1 > > + ln -sf libboost_asio.so.1 ${D}${libdir}/libboost_asio.so > > This assumes the major of ${PV} is 1 and updating it will be easy to > miss if the major is ever increased. There is a function that can be > used to extract part(s) of the version number, e.g.: > > MAJOR_VER = "${@oe.utils.trim_version("${PV}", 1)}" > > > +} > > Use tabs to indent the shell functions above. > > > + > > +FILES:${PN} += "${libdir}/libboost_asio.so.*" > > This should not be needed. > > > + > > +BBCLASSEXTEND = "native" > > diff --git a/meta/recipes-support/boost-asio/files/boost_asio.cpp b/meta/recipes-support/boost-asio/files/boost_asio.cpp > > new file mode 100644 > > index 0000000000..bf00c8ff26 > > --- /dev/null > > +++ b/meta/recipes-support/boost-asio/files/boost_asio.cpp > > @@ -0,0 +1 @@ > > +#include <boost/asio/impl/src.hpp> > > -- > > 2.43.0 > > //Peter //Peter
diff --git a/meta/recipes-support/boost-asio/boost-asio_1.90.0.bb b/meta/recipes-support/boost-asio/boost-asio_1.90.0.bb new file mode 100644 index 0000000000..ea534ff172 --- /dev/null +++ b/meta/recipes-support/boost-asio/boost-asio_1.90.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" + +# Reuse Boost source and licensing metadata from openembedded-core. +require recipes-support/boost/boost-${PV}.inc + +SRC_URI += " file://boost_asio.cpp" + +DEPENDS = "boost" + +do_compile() { + ${CXX} ${CPPFLAGS} ${CXXFLAGS} \ + -std=c++23 \ + -DBOOST_ASIO_DYN_LINK=1 \ + -fPIC \ + -shared \ + -Wl,-soname,libboost_asio.so.1 \ + ${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.1 + ln -sf libboost_asio.so.1 ${D}${libdir}/libboost_asio.so +} + +FILES:${PN} += "${libdir}/libboost_asio.so.*" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-support/boost-asio/files/boost_asio.cpp b/meta/recipes-support/boost-asio/files/boost_asio.cpp new file mode 100644 index 0000000000..bf00c8ff26 --- /dev/null +++ b/meta/recipes-support/boost-asio/files/boost_asio.cpp @@ -0,0 +1 @@ +#include <boost/asio/impl/src.hpp>
This is needed to build boost asio as a shared library rather than a header-only library, which is needed to save memory. Change-Id: I3ac5ed0ccadae3e9d042b9c4eed3a1ab7220a009 Signed-off-by: Gustav Lindberg <gustali@axis.com> --- .../boost-asio/boost-asio_1.90.0.bb | 33 +++++++++++++++++++ .../boost-asio/files/boost_asio.cpp | 1 + 2 files changed, 34 insertions(+) create mode 100644 meta/recipes-support/boost-asio/boost-asio_1.90.0.bb create mode 100644 meta/recipes-support/boost-asio/files/boost_asio.cpp