Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2005-06-08 11:32:13


Vladimir Prus <ghost_at_[hidden]> writes:

> On Tuesday 07 June 2005 20:57, David Abrahams wrote:
>> Hi,
>>
>> I have edited my local copy of libs/test/build/Jamfile.v2 by adding
>>
>> alias minimal : : : :
>> <toolset>msvc:<asynch-exceptions>on
>> ;
>>
>> IIUC, this is the way to declare that there's a target here that
>> will add the <asynch-exceptions>on property to anything that uses
>> it.
>>
>> I also have this Jamfile in my project:
>>
>> project mtl4/sequence/algorithm ;
>>
>> import testing ;
>> import mtl4 ;
>>
>> run copy.cpp /boost/test//minimal ;
>>
>> Yet, when I compile that file with the msvc-8.0 toolset I get:
>>
>> call "C:\Program Files\Microsoft Visual Studio 8\VC\\bin\vcvars32.bat"
>> > nul cl /Zm800 -nologo -TP /Z7 /Od /Ob0 /GR /MDd
>> @"bin\copy.test\msvc-8.0\debug\asynch-exceptions-on\copy.obj.rsp" -c
>> -Fo"bin\copy.test\msvc-8.0\debug\asynch-exceptions-on\copy.obj"
>>
>> i.e. no /EHx flags appear in the command-line. What am I missing?
>
> Interesting. I see <anynch-exceptions-on> in the target path, so looks like
> usage requirements take effect.
>
> I'd suspect there's something wrong with flag settings.

You can examine those yourself in msvc.jam

> Does it work if you
> build with
>
> bjam asynch-exceptions=on
>
> ?

Nope.

> Also, note that most of the time usage requirements are free features. I'm not
> sure that propagated features as usage requirements will quite as expected.
> For example
>
> rule copy.cpp /boost/test//minimal some_other_lib ;
>
> might propagate asynch-exceptions=on from minimal to 'copy.cpp', but I'm
> pretty sure it won't be propagated to some_other_lib -- because first all
> sources are built, and only then usage requirements for all sources are added
> to build properties.

Hmm, yes... well, I admit that I would not have expected it to be
propagated to some_other_lib in that case, but it's also obvious to me
that it needs to be propagated that way. So this looks like a serious
architectural problem.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com
 

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