Boost logo

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