xref: /openbmc/openbmc/meta-phosphor/recipes-support/boost/boost_%.bbappend (revision 8ebfff759574c3322298c3f49364e9c1b9c676f3)
1PACKAGECONFIG:openbmc-phosphor:class-target = ""
2
3#This is largely to improve our build times by not building or installing
4#modules that OpenBMC does not use by our coding standard.  Another thing to
5#note is that for most targets, coroutine and context libraries are also added
6#with a BOOST_LIBS:append:<platform> for most targets.  Chrono/Thread should not
7#be relied directly, but are required dependencies of context and coroutine.
8#See the relevant portion of the openbmc coding standard with regards to boost
9#libraries
10#
11#https://github.com/openbmc/docs/blob/master/cpp-style-and-conventions.md#boost
12#
13BOOST_LIBS:openbmc-phosphor:class-target = " \
14    chrono \
15    context \
16    coroutine \
17    date_time \
18    process \
19    thread \
20    url \
21    ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'serialization', '', d)} \
22"
23# When libcereal is compiled with ptest, it needs boost to support
24# 'serialization'.
25
26
27# Openbmc applications should be setting BOOST_SYSTEM_NO_DEPRECATED
28# For whatever reason, boost 1.87 has decided to install this library
29# unconditionally.  It's not clear why, but just ignore it for now
30# by categorizing it as a dev dependency
31FILES:${PN}-dev:append = " \
32    ${libdir}/libboost_system*.so.* \
33"
34
35BJAM_OPTS:append = " boost.process.fs=std"
36
37# etcd requires some additional support.
38BOOST_LIBS:openbmc-phosphor:class-target:append:df-etcd = " \
39    random \
40    regex \
41    system \
42"
43