|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-08-27 01:54:03
Hello,
I think that the v1 had a bug in handling of rules in requirements.
Consider this Jamfile:
exe a : a.cpp : <runtime-link>static ;
I run
bjam -sTOOLS="intel-win32-8.0" -n
and get:
vc-Link ../../../bin/boost/libs/program_options/test/a/intel-win32-8.0/debug/runtime-link-static/a
Then I change Jamfile to be:
exe a : a.cpp : std::facet-support ;
where std::facet-support is supposed to mean "<runtime-link>static is toolset
is intel". The bjam output is now:
vc-Link ../../../bin/boost/libs/program_options/test/a/intel-win32-8.0/debug/runtime-link-static/threading-multi/a
Note the added "threading-multi". This is suprising, since I'd except
std::facet-support to be exactly the same as <runtime-link>static on intel.
The problem is that the toolset::requirements rule is run before
std::facet-support, so it sees <runtime-link>dynamic and immediately adds
<threading>multi.
Maybe, toolset::requirements should be appended to the list of requirements,
not prepended?
- 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