Boost logo

Boost :

Subject: Re: [boost] [system] Header-only Boost.System by default ?
From: Marc Glisse (marc.glisse_at_[hidden])
Date: 2017-10-15 21:48:26


On Sun, 15 Oct 2017, Niall Douglas via Boost wrote:

>> So personally I stay inclined that defining
>> BOOST_ERROR_CODE_HEADER_ONLY+BOOST_SYSTEM_NO_DEPRECATED would be a
>> better default in the future. :D
>
> Requiring use from a DLL wholly prevents misoperation on Windows and
> Mac, unless you mix Boost versions. That's why those macros are off by
> default and should stay that way.

It would be great to avoid talking about the 2 macros at the same time,
since they do not do the same thing. BOOST_SYSTEM_NO_DEPRECATED mostly
removes some old synonyms, which otherwise cause

#include <boost/system/error_code.hpp>
int main(){}

to require linking with boost_system. This happens to a lot of users,
where the file is included indirectly through other boost packages.

If it really has the same dangers as BOOST_ERROR_CODE_HEADER_ONLY (are you
sure about that? Is it about boost::throws?), then it should be split into
2 macros, where one only removes the old synonyms and can be enabled by
default.

-- 
Marc Glisse

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