Boost logo

Boost-Build :

Subject: Re: [Boost-build] Using feature.compose with a toolset compiler version
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-05-05 18:52:17

On 5/5/2016 5:40 PM, Steven Watanabe wrote:
> On 05/05/2016 03:15 PM, Edward Diener wrote:
>> <snip>
>> So I change my feature lines to:
>> feature.subfeature toolset gcc : cpplevel : cxx11 : optional composite
>> propagated ;
>> feature.compose <toolset-gcc:cpplevel>cxx11 : <cxxflags>-std=c++11
> This is the right way to do it, I think,
> but it looks like composite subfeatures
> are broken. You're best bet is to make
> it a top level feature instead of a
> subfeature.

What do you mean by making it a top-level feature ? Can you gve an example ?

I can of course run either:

b2 toolset=gcc-5.3
b2 toolset=gcc-5.3 cxxflags=-std=c+11

but whether I run it with the cxxflags or not the output goes to the
same directory and is considered the same build since it is the same
gcc-5.3. This makes it difficult to test as different builds. I was
trying to use feature.compose to create different builds.

I'l try just different names for the gcc toolset like 'gcc-5.3' and
'gcc-5.3cx11' with the appropriate using statements and specific
requirements. If that works it is probably the easiest way, although
less flexible.

>> and try again:
>> b2 toolset=gcc-5.3-cxx11
>> but I get:
>> notice: could not find main target cxx11
>> notice: assuming it is a name of file to create.
> Now that is weird. This is the error I would
> expect if you put cxx11 by itself on the command
> line.
>> E:/Programming/VersionControl/modular-boost/tools/build/src/build\feature.jam:768:
>> in expand-composites from module feature
>> error: expansions of composite features result in conflicting values for
>> error: values: xsltproc
>> error: one contributing composite property was <toolset-gcc:cpplevel>cxx11
> This is really a mess. I'll see
> what I can do, but I probably won't
> get to it till after C++Now.

Appreciated !

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