Boost logo

Boost :

Subject: Re: [boost] Review request for variant2, review manager wanted
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2019-02-25 22:14:32


>> (We actually use a completely renamed fork of Boost...
>
> Whose idea was this, who set it up, who maintains it, what is
> different from stock Boost, and what's wrong with using Boost as is
> (as trillions of other developers already do)?

It's actually not uncommon Vinnie in big megacorps. It's done to avoid
the potential for implementation use of Boost symbol colliding with
customer use of Boost. Each shop will have some poor sod who has to do
the conversion from time to time, and maintain it for internal and
sometimes external users. Tony van Eerd was that poor sod during my time
at BlackBerry, for example. It'll usually have a bunch of nasty regex
doing something like:

namespace boost => namespace mycorp_boost_1_30
boost:: => mycorp_boost_1_30::
BOOST_ => MYCORP_BOOST_1_30_
...

They usually rename the boost headers directory too, of course, to
mycorp_boost_1_30/*, and all the library blob names.

John Maddock maintains a tool which will do some of the renaming for
you. But it doesn't rename macros, leaves some stuff in the global
namespace due to ADL reasons, and some big megacorp likes to directly
use Boost.Config macros to annotate their public functions and/or
configure a custom Boost, so they need all the macros renamed too.

Anyway, doing all the above is not uncommon. I've seen it a few times in
my career now in various clients I've worked for. Usually with some
ancient Boost version. And I've seen some big megacorp mix multiple
different ancient versions of Boost into a single codebase, too, which
is "safe" because nothing can clash. Yay.

Niall


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