Boost logo

Boost :

From: Nikita Kniazev (nok.raven_at_[hidden])
Date: 2021-08-26 19:50:11


Some libraries (Context, Contract, Fiber, Json, Math, Nowide) are built
conditionally and use checks from the Config library to do that (`import
../../config/checks/config : requires ;`). Apparently, it happens to be a
PITA for some consumers. Vcpkg had to hack around that and update the hack
every Boost release, but Boost 1.76 revealed problems in it (
https://github.com/boostorg/build/issues/724) and Boost 1.77 is blocked by
it (https://github.com/microsoft/vcpkg/pull/19556#issuecomment-904702798).

I have a mixed feeling about silently not building libraries. I understand
that for a lot of people it is reasonable that the default stage build will
not build a library on an unsupported compiler. However, it is absolutely
bad and a confusing thing to a user that the input is silently ignored when
a library is requested using the `--with-<library>` flag.

A way to turn off the conditional building of the libraries could also be
in debug purposes alongside fixing `--with-<library>` behaviour and making
possible for vcpkg to live without resorting to hacking the boost build
system.

I have no affiliation to vcpkg and I am not a maintainer of any mentioned
libraries. It is purely my observation about how Boost is used.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk