On Thu, Dec 28, 2023 at 5:42 PM Peter Dimov via Boost
Zach Laine wrote:
Dependencies are still a nightmare in C++, so Boost.Parser can be used as a purely standalone library, independent of Boost. ... The presence of Boost headers is detected using __has_include().
That's not a good idea. Depending on random features of the environment for ABI-incompatible changes will create many more problems than it would solve. Just use a macro.
That might be true in general, but I don;t think it is given how I'm
using them. __has_include is only used in 4 places:
1) To detect Boost.Preprocessor headers. If detected, Boost.Parser
defines a convenience macro that uses Boost.Preprocessor macros.
2) To detect <coroutine>. If detected, it is included; this is
necessary because at least one implementation reported
__cpp_impl_coroutine but did not provide the header. This is cruft
that I can remove, but is otherwise harmless.
3) To detect