Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-08-27 01:54:03

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

Maybe, toolset::requirements should be appended to the list of requirements,
not prepended?

- Volodya


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