From: Jurko GospodnetiÄ (jurko.gospodnetic_at_[hidden])
Date: 2008-04-12 04:42:29
> Hi. I just started playing with Boost Jam after using ftjam. One thing
> that I've noticed, that I don't like, it that Boost Jam waits until an
> action has completed before displaying its output.
> I have actions that are very time consuming, and I like to monitor their
> output in real time. ftjam does this, but I would prefer to use Boost,
> because is has newer features that I want to take advantage of.
> Is it possible to modify Boost Jam to display actions' output in real-time?
Would be relatively simple to do (modifications to exec*.c modules
and possibly output.c), but could you then describe how you expect that
output to behave in case of multiple parallel build actions (i.e. when
the -j # command-line options is used with # > 1 )?
As I see it Boost Jam currently collects each build action output in
real-time but displays it only once the action has terminated.
Some ideas that pop to mind here:
(1.) As it is now - just display action output after the action
(2.) Display the action as it is collected from each action,
without considering multiple parallel actions.
(3.) If there are no parallel actions then as (2.) and otherwise as
(4.) As (2.) but display the output line-by-line so that lines
never contain half output text from one action and half from another but
different lines from multiple actions may get mixed up.
(5.) As (4.) but give each action an id and display it in front of
each line in the output. Possibly not displaying the id in case no
parallel build actions are allowed.
Anyone else have any other ideas on how this could work? Or which
choice is best?
Another related issue is how the action output is collected
programmatically (i.e. when callbacks containing the action output are
called). Should that also be done in real-time? Or should that keep
getting called only after an action has completed its work?
Since this would affect everyone's build system in ways that I can
not imagine, I would not like to change anything without enough
thoughts/comments/confirmation from others... so... if you want
something done about this - you'll have to keep pushing the issue until
'enough' people agree. :-)
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