Boost logo

Boost :

Subject: Re: [boost] Let's stop distributing binaries
From: Robert Ramey (ramey_at_[hidden])
Date: 2018-08-29 20:37:47


On 8/29/18 10:02 AM, Olaf van der Spek via Boost wrote:
> On Wed, Aug 29, 2018 at 6:35 PM, Robert Ramey via Boost
> <boost_at_[hidden]> wrote:
>> a) since the user would be compiling everything with his own favorite
>> compiler
>
> Not if he's using package management (Linux, vcpkg @ Windows).

Hmmm - I don't really know what vcpkg actually does. Basically if we
distribute only source and no binary then we're not responsible for all
the stupid stuff that people do with it.

>
>> with the -std setting he desires,
>
> Are you sure about that?
> Even if he has projects with different -std settings?

LOL - if he has projects with different -std settings - e.g. a dll and
an application which calls the dll, he has problems that we can't solve.

By not distributing binaries, we avoid burdening people who do know what
they're doing with silent ABI inconsistencies which can cause almost
impossible to find bugs.

>
>> There would be no ABI issues.
>>
>> b) LOL - It's been stated numerous times that the the Boost policy is that a
>> library must only be compatible with the currently release C++ standard.
>
> Apparently that's not documented properly. Where is it documented anyway?

I don't know. I'm sure it's documented somewhere. There are several
well known library which illustrate its veracity. And it's stated on
this list about every 6 months or so. It's been stated several times in
this thread. Regardless of where it's documented, or even if its not,
it happens to be true.

> And where's the list of supported compilers listed?

That would depend on the particular library. All boost library are
supposed to work with the current standard (at least when approved). So
any compiler which implements the current standard should be guaranteed
to be able to build and use the library. Of course this is complicated
by the fact that there is no C++ compiler and standard library which
actually correctly implements the standard. This in turn is complicated
by the fact that there is no universal agreement on what the standard
actually means in many places. This in turn is complicated by the fact
it is very popular to add features (initialization) that no one can
really figure them out.

Alas - I'm off topic.

> Are you sure 'we' are not expecting libs to work with non-C++17 compilers?

Hmmm I don't know that I can speak for "we". But I expect that a Boost
library will work with any compiler conforming the the standard existing
at the time the library was approved. Since C++ strives to maintain
backward compatibility, I expect that that library will be compatible
with all subsequent C++ compilers. Of course this is not strictly true.
  Any boost library using std::auto had to be tweaked when auto was
dropped. But in practice it's true enough for government work.

Robert Ramey


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