2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-14 00:32:11 +00:00

Updated Boost Jam implementation comment related to it adding internal fake INCLUDES relationships between targets built by a single action in order to make sure none of them may get used until their action had successfully completed its work.

[SVN r79586]
This commit is contained in:
Jurko Gospodnetić
2012-07-18 14:50:53 +00:00
parent 35883dacc0
commit cbb48b5d01

View File

@@ -172,9 +172,20 @@ LIST * evaluate_rule( OBJECT * rulename, FRAME * frame )
* action if possible and not rebuild targets not actually depending on
* targets that are not up to date.
*
* TODO: Using the 'include' feature might have side-effects due to
* interaction with the actual 'inclusion scanning' system. This should
* be checked.
* TODO: Current solution using fake INCLUDES relations may cause
* actions to be run when the affected targets are built by multiple
* actions. E.g. if we have the following actions registered in the
* order specified:
* (I) builds targets A & B
* (II) builds target B
* and we want to build a target depending on target A, then both
* actions (I) & (II) will be run, even though the second one does not
* have any direct relationship to target A. Consider whether this is
* desired behaviour or not. It could be that Boost Build should (or
* possibly already does) run all actions registered for a given target
* if any of them needs to be run in which case our INCLUDES relations
* are not actually causing any actions to be run that would not have
* been run without them.
*/
if ( action->targets )
{