diff options
Diffstat (limited to 'tools/build/src/build/virtual-target.jam')
-rw-r--r-- | tools/build/src/build/virtual-target.jam | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/build/src/build/virtual-target.jam b/tools/build/src/build/virtual-target.jam index 264616db61..2d139bd7f8 100644 --- a/tools/build/src/build/virtual-target.jam +++ b/tools/build/src/build/virtual-target.jam @@ -794,7 +794,9 @@ class action # rules. .action on $(actual-targets) = $(__name__) ; - indirect.call $(self.action-name) $(actual-targets) + #indirect.call $(self.action-name) $(actual-targets) + # : $(self.actual-sources) : [ $(properties).raw ] ; + execute $(self.action-name) $(actual-targets) : $(self.actual-sources) : [ $(properties).raw ] ; # Since we set up the creating action here, we set up the action for @@ -865,6 +867,19 @@ class action { return $(property-set) ; } + + # Execute the action rule on the given targets, sources, and properties. + # Since this does the final call to the engine action rule this takes + # engine level targets and raw properties. One could override this, for + # example, to set additional variables on hte target that might be + # difficult to determine just using toolset flags. + # Note, you must call this base rule when overriding as otherwise the + # actions will not execute and the engine will not run commands. + # + rule execute ( action-name targets + : sources * : properties * ) + { + indirect.call $(action-name) $(targets) : $(sources) : $(properties) ; + } } |