Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r79586 - trunk/tools/build/v2/engine
From: jurko.gospodnetic_at_[hidden]
Date: 2012-07-18 10:50:54


Author: jurko
Date: 2012-07-18 10:50:53 EDT (Wed, 18 Jul 2012)
New Revision: 79586
URL: http://svn.boost.org/trac/boost/changeset/79586

Log:
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.
Text files modified:
   trunk/tools/build/v2/engine/compile.c | 17 ++++++++++++++---
   1 files changed, 14 insertions(+), 3 deletions(-)

Modified: trunk/tools/build/v2/engine/compile.c
==============================================================================
--- trunk/tools/build/v2/engine/compile.c (original)
+++ trunk/tools/build/v2/engine/compile.c 2012-07-18 10:50:53 EDT (Wed, 18 Jul 2012)
@@ -172,9 +172,20 @@
          * 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 )
         {


Boost-Commit 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