Boost logo

Boost :

Subject: Re: [boost] PSA: Travis OS X bottleneck, <cxxstd> new Boost.Build feature
From: James E. King, III (jking_at_[hidden])
Date: 2017-10-26 17:44:30


On Thu, Oct 26, 2017 at 12:43 PM, Peter Dimov via Boost <
boost_at_[hidden]> wrote:

> Travis's OS X resources for open source projects seem to be insufficient,
> so OS X jobs are very slow and seem to be falling further and further
> behind. Therefore, library authors are encouraged to keep the OS X jobs to
> the minimum necessary. Spawning many OS X jobs takes hours (~25 minutes
> waiting time per job at a quick estimate).
>
> On a not entirely unrelated note, Rene Rivera has added a new feature
> <cxxstd> to Boost.Build that controls the C++ standard in use. So for
> instance, instead of the old
>
> b2 libs/mylib/test toolset=gcc cxxflags=-std=c++11
>
> one can now use
>
> b2 libs/mylib/test toolset=gcc cxxstd=11
>
> In addition to being more convenient, this also allows several invocations
> to be combined into one:
>
> b2 libs/mylib/test toolset=clang cxxstd=03,11,14,1z
>
> which can be leveraged to cut down on the number of jobs.
>
> An example of using cxxstd in .travis.yml can be seen here:
>
> https://github.com/boostorg/system/blob/develop/.travis.yml
>

In Travis if one updates gcc and clang as part of the update scripts, you
end up with "clang++" and "clang++-5.0" for example, where the first one is
the version that came with the distribution.
Is there a bjam directive to change the compiler name, for example it would
be nice if I could do:

toolset=gcc,clang compiler={g++,g++-7},{clang++,clang++-5.0}

Right now I muck with the user-config.jam file to force it one way or the
other.
Perhaps that's still the best way to do it?

Thanks,

Jim


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