Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-06-08 09:34:05

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. 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.

- Volodya

Vladimir Prus
Boost.Build V2:

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