Boost logo

Boost-Build :

From: Edward Diener (eldiener_at_[hidden])
Date: 2019-07-27 13:18:00

In the Boost Build manual it states in section 5.8.2:

"Subproperty validity may be restricted so that certain values are valid
only in the presence of certain other subproperties. For example, it is
possible to specify that the <gcc-target>mingw property is only valid in
the presence of <gcc-version>2.95.2."

However it does not explain how to specify, or enforce, such subproperty
validity. How can this be done in Boost Build ?

As a practical example if I have:

feature.subfeature toolset gcc : std : c03 c11 c14 c17 : optional
composite propagated ;

feature.compose <toolset-gcc:std>c03 : <cxxflags>-std=c++03 ;
feature.compose <toolset-gcc:std>c11 : <cxxflags>-std=c++11 ;
feature.compose <toolset-gcc:std>c14 : <cxxflags>-std=c++14 ;
feature.compose <toolset-gcc:std>c17 : <cxxflags>-std=c++1z ;

I might want to allow:

b2 toolset=gcc-8.3-c17

but I might not want to allow:

b2 toolset=gcc-4.8-c17

Is there a way of enforcing this by some jam code in my user-configf.jam
file ?

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at