Boost logo

Boost-Build :

Subject: Re: [Boost-build] Target alternatives and multiple compilers - again
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-07-12 16:32:32


On 7/12/2011 2:05 PM, Jürgen Hunold wrote:
> Hi Edward,
>
> On Tuesday, 12. July 2011 17:54:58 Edward Diener wrote:
>> That does not work either. If I change the above to:
>>
>> test-suite somelib
>>
>> [ compile some_source.cpp ]
>> ;
>>
>> test-suite somelib_gcc
>>
>> [ compile some_source.cpp
>>
>> :<cxxflags>-std=c++0x
>> : some_source_gcc
>>
>> ]
>>
>> <toolset-gcc:version>4.3.0
>> <toolset-gcc:version>4.4.0
>> <toolset-gcc:version>4.5.0
>> <toolset-gcc:version>4.5.2
>> <toolset-gcc:version>4.6.0
>> ;
>>
>> test-suite somelib_gcc ;
>>
>> change some_source.cpp, and execute the jamfile for gcc-4.6.0,
>> some_source_gcc never gets created even though some_source does.
>
> My fault. The requirement list above means that _all_ requirements must be
> met. The requirements are implicit "and" composited. And as far as I know,
> there is no "or"-able syntax.

Even doing this does not work:

test-suite somelib
       [ compile some_source.cpp ]
       ;

test-suite somelib_gcc
       [ compile some_source.cpp
         :<cxxflags>-std=c++0x
         : some_source_gcc
       ]
       :
       <toolset-gcc:version>4.3.0
       :

test-suite somelib_gcc
       [ compile some_source.cpp
         :<cxxflags>-std=c++0x
         : some_source_gcc
       ]
       :
       <toolset-gcc:version>4.4.0
       :

test-suite somelib_gcc ;

When some_source changes and gcc-4.4.0 is specified as the toolset
some_source_gcc is never generated for gcc-4.4.0 but some_source is
generated.

I really do not understand why this is so hard for Boost Build to get right.


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