On Tuesday 31 March 2015 13:30:03 Niall Douglas wrote:
Boost.ASIO is auto generated by a script from standalone ASIO. Some of the things it does is to wrap the asio namespace with a boost namespace, the ASIO_ macros with a BOOST_ prefix and so on.
Tweaking that script to prepend a log_internal namespace and a BOOST_LOG_INTERAL_ instead should be trivial. I'd have your build system optionally git clone the standalone ASIO repo and optionally refresh a locally kept copy.
Yes, I understand, and this is what I referred to as "copy&paste" in my previous reply. Taking this route would mean I would have to maintain this copy of ASIO on my own, possibly refreshing it from time to time, let alone the code bloat. Given that I only need to send UDP packets and resolve domain names once in a while, I don't think the effort is worthwhile. What I'd like to see is a solution for Boost.ASIO, as well as other header- only libraries that support ABI-breaking config options. Ideally, there should be a guideline for future libraries. As for Boost.Log case, well, I'm still uncertain, but leaning towards dropping Boost.ASIO and writing my own network compatibility layer.
BTW Boost.ASIO lags standalone ASIO by up to a year.
This is very unfortunate.