|
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
>>feature'toolset-version'.
>>
>>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.
Thanks.
> 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
gcc.link 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 acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk