Enforce the coding standard usages of boost
3 years ago, we pushed a patch to allow the usage of boost libraries,
and deleted the phrase "If you give a mouse a cookie". Seemingly, we've
done a decent job of not asking for glass of milk, despite the cookie
being given.
https://github.com/openbmc/docs/commit/56d79455f15ef07be326e59fde4b47ca5866a30c
This commit adds some enforcement of this by removing the libraries that
are disallowed by the coding standard, and ensuring that only the boost
headers are passed through the build. This means that it reduces a
large bottleneck in the build, and saves a significant amount of build
time (about 5 minutes the last time I measured it).
After a discussion a long time ago, it was deemed that coroutine and
context would be allowed in, given that they solved a significant
problem, and didn't add a large binary size to the image. This patchset
preserves those two libraries.
I've had this patch locally for a long time to improve my build times;
I only remembered it because boost-url broke it given that by default
it builds in c++11 mode, which requires boost. As such, I have modified
our build of it to build in standalone mode, which relies on c++17
semantics, and does not require boost libraries. This is added as a
bbappend, given that it will likely be deleted from meta-phosphor
shortly, once we merge in the latest yocto tree, which has accepted it.
Tested:
Built with the patchset below. obmc-phosphor-image builds in
significantly less time, which no sstate cache.
Signed-off-by: Ed Tanous <ed@tanous.net>
Change-Id: I63b74d5712ab45b26b1c5b69bc1348ff2830f046
2 files changed