Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-01-15 06:18:21

David Abrahams wrote:
> Vladimir Prus <ghost_at_[hidden]> writes:
>>I've tried to use g++3.2 with some of my code which uses Boost.Build V2,
>>and run in a problem.
>>/home/ghost/Work/boost/tools/build/examples-v2/../new/property.jam:223: in
>>validate from module property
>>error: Invalid property '<toolset-version>3.2': value '3.2' is not valid for
>>And it's caused by the line 34 of gcc.jam: where I try to adjust the name
>>for particlar compiler version.
>>I wonder if the feature module should be changed to recognize
>><toolset-version> as valid feature...
> Mostly done.


> However, see changes to gcc.jam

The remaining problem is that the flags rule is called with <toolset>gcc-3.2
and records that property as condition. But set-target-variables is called
with <toolset>gcc <toolset-version>3.2

I fixed that by expanding subfeatures in condition. After that, I get:

$bjam gcc-3.2
...found 9 targets...
...updating 5 targets...
MkDir1 bin
MkDir1 bin/gcc-3.2
MkDir1 bin/gcc-3.2/debug
gcc.compile bin/gcc-3.2/debug/hello.o
hello.cpp:8:2: warning: no newline at end of file bin/gcc-3.2/debug/hello

Isn't it the coolness?

However, we've one problem still. Assume, that gcc-3.2 is never declared.
If you run

bjam gcc-3.2

in examples-v2/hello, you won't be told that property is invalid, but that
./hello cannot be build. Adding "--debug-generators" to the command line
shows that <toolset>gcc-3.2 is in build request. I guess the error
should be reported after calling build-request.expand, which call is on
build-system.jam, line 63.

Dave, what do you think?

- Volodya


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