Subject: Re: [boost] [Config] Multiple versions of Boost
From: Sohail Somani (sohail_at_[hidden])
Date: 2008-09-12 21:38:14
Emil Dotchevski wrote:
> On Fri, Sep 12, 2008 at 5:03 PM, Sohail Somani <sohail_at_[hidden]> wrote:
>> Emil Dotchevski wrote:
>>>> What if Boost.Config did something like:
>>>> #if !defined(BOOST)
>>>> # define BOOST boost
>>>> And we replace all uses of the boost namespace with BOOST?
>>> Not all boost headers include boost/config.hpp.
>> Is that really a problem?
>> #include <boost/config/namespace.hpp>
> In principle, personally, I'm against making any header mandatory.
I can understand that but this isn't a problem that affects users.
Besides if there is a policy that says you can use multiple versions of
Boost if you do XYZ, then it might be OK even in your world?
> But also, if someone asks you to integrate a statically linked library
> that used a version of the standard library different from the one you
> were using, what would you do? :)
I would say that you find a new job ;-)
But seriously, there are N different standard libraries with multiple
versions whereas there is only one Boost with multiple versions. Fixing
the problem for Boost solves it on all compilers. There is nothing you
could do to solve the problem for the standard library that wouldn't
require you to repeat the same steps in the next update of the compiler.
Not only that but I don't normally build the C++ standard library as
part of my build. Boost, I do.
Boost is a position to be able to solve the problem in a useful manner
without making life overly difficult for developer or user.