On Thu, Oct 26, 2017 at 12:43 PM, Peter Dimov via Boost < boost@lists.boost.org> 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:
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