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:
>> I have edited my local copy of libs/test/build/Jamfile.v2 by adding
>> alias minimal : : : :
>> 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
>> 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
>> 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
> 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
-- 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