diff options
author | Paul Smith <psmith@gnu.org> | 2013-09-14 01:04:04 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2013-09-14 01:04:04 -0400 |
commit | c5bfa400448a14f4c8d4fc51dd56ea17176e1f84 (patch) | |
tree | 9a46584dec752bdf9a1a50fc7941d9344fece30d /output.h | |
parent | deff9dacc97cc20015d3018992f2c77cb7fab102 (diff) | |
download | make-c5bfa400448a14f4c8d4fc51dd56ea17176e1f84.tar.gz |
Support the -Orecurse option properly.
In this mode we still collect all the output from a given target and
dump it at once. However we don't treat recursive lines any differently
from non-recursive lines. Also we don't print enter/leave messages
after every dump. However we do ensure that we always print them once
to stdout, so the parent make will collect it properly.
Diffstat (limited to 'output.h')
-rw-r--r-- | output.h | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -26,12 +26,22 @@ extern struct output *output_context; #define OUTPUT_SET(_new) do{ if ((_new)->syncout) output_context = (_new); }while(0) #define OUTPUT_UNSET() do{ output_context = NULL; }while(0) -void output_init (struct output *out, unsigned int syncout); +FILE *output_tmpfile (char **, const char *); + +/* Initialize and close a child output structure: if NULL do this program's + output (this should only be done once). */ +void output_init (struct output *out); void output_close (struct output *out); +/* In situations where output may be about to be displayed but we're not + sure if we've set it up yet, call this. */ void output_start (void); + +/* Show a message on stdout or stderr. Will start the output if needed. */ void outputs (int is_err, const char *msg); #ifdef OUTPUT_SYNC +int output_tmpfd (void); +/* Dump any child output content to stdout, and reset it. */ void output_dump (struct output *out); #endif |