Boost logo

Boost-Build :

Subject: [Boost-build] Toolset names and target alternatives
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-07-12 16:14:21


Currently I can specify a toolset name by its 'name' or its
'name-version'. But there is no way to specify a toolset 'name' so that
all versions starting with some beginning part of the version number are
specified.

As an example I can say 'gcc' for a toolset name or 'gcc-4.5.2' for a
toolset name. The first encompasses all gcc toolsets of whatever version
number and the second encompasses specifically gcc version 4.5.2. But
there is no way of specifying all gcc version 4 toolsets.

There should be.

This would be particular useful with target alterantives. As an example
I want to setup a jam target alternative for all gcc 4 versions in order
to test a feature of the -std=c++0x option. This option does not exist
for gcc version 3 releases but does exist for gcc version 4 releases.
But to do this I have to repeat the alternative for each individual gcc
4 version. So if I have:

test-suite sometest_gcc
    :
         [ compile somesource.cpp
           : <cxxflags>-std=c++0x
           : somesource_gcc
         ]
    :
    <toolset>gcc-4.3.0
    ;

I must repeat this for each gcc 4 version. Of course in a typical case
there will be many tests, so I end of repeating huge sets of tests for
every specific gcc versions I want to setup with a taret alternative. Ugh !

Please consider treating <toolset>gcc-4 as all versions which start with
gcc-4 such as gcc-4.3.0, gcc-4.4.0 etc. Also <toolset>gcc-4.5 should
mean all version of gcc which start with gcc-4.5 such as gcc-4.5.0,
gcc-4.5.2 etc.

This ability to represent more than one version via a partial version
identifier would be welcome in Boost Build.


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk