This commit was manufactured by cvs2svn to create branch
'Boost_Jam_994'.

[SVN r37556]
Patch from Noel Belcourt, with some minor changes for portability. Implements action output deferral to sync the output regardless of -jn.


[SVN r37823]
Add test for -jN actions.


[SVN r37825]
Complete implementation of Ticket #994 (Parallel Bjam output is jumbled).

I removed the signal handling code from jam.c as it's no longer needed.

Changed the execcmd function signature to pass two additional arguments,
the rule name and the build target.  These are no longer output in make1.c
as we need to defer their output until the command completes and we have
all the stdout and stderr output.

Fixed the various hangs and zombie children problems in execunix.


[SVN r37855]
Changed make1.c to pass null pointers for the rule and target so as to
identically replicate the original bjam output.


[SVN r37857]
Match up the execcmd args.


[SVN r37861]
*** empty log message ***


[SVN r37862]
Fix non-Unix case of exec to that is outputs the action headers as usual.


[SVN r37863]
*** empty log message ***


[SVN r37864]
Fixed missing io dup, for both stderr and stdout.


[SVN r37867]
Add logic for separating stdout and stderr.  This solution is commented out
with #if 0 right now although it has been tested and is fully functional.

The default implementation is to merge stdout and stderr into a single stream.


[SVN r37868]
Change mem allocation to use common macros.


[SVN r37871]
Use atomic allocs as needed. Remove obsolete win32 code.


[SVN r37873]
Added support for bjam -px options per discussions with Rene Rivera.


[SVN r37876]
Added copyright notice.


[SVN r37877]
Fix a file descriptor that wasn't getting closed.


[SVN r37880]
Add check on pipe descriptor values.


[SVN r37885]
Added initial dart support to execcmd and make1.

Updated the execcmd closure function signature to pass the executed
command string and the command output into the make_closure function.


[SVN r37896]
Passed the executed command and command output into the call_dart_rule function.


[SVN r37899]
Passing the executed command and the command output to the dart rule, finally.


[SVN r37911]