
On Sun, 22 Dec 2024 at 13:10, Peter Dimov via Boost
Ruben Perez wrote:
3. Some libraries support configuration macros. For instance, Boost::throw_exception supports BOOST_NO_EXCEPTIONS. This is used by other Boost libraries to support builds that disable exceptions. In the current world, the end user defines BOOST_NO_EXCEPTIONS in their code, includes the library, and everything works. Using a scheme like the one I suggested requires the user to build all the Boost modules using BOOST_NO_EXCEPTIONS, which is more involved than what we have today.
BOOST_NO_EXCEPTIONS is not defined by the user. It's defined by Boost.Config when -fno-exceptions or an equivalent is used.
Thanks for the clarification. I think the same considerations still apply: if the user wants -fno-exceptions, they would need to build the Boost modules with that flag if we follow what the CMake guys recommended. Thanks, Ruben.