On Mon, Sep 03, 2012 at 02:20:34PM +0200, Mark Kettenis wrote: > > Date: Mon, 3 Sep 2012 13:59:44 +0200 > > From: Marc Espie <[email protected]> > > > > In the process of the rewrite, I took apart the pipe stuff I added a few > > years ago. Much to my surprise, it doesn't appear to be THAT useful now, > > intermixed commands don't intermix so much, so I haven't put it back yet... > > this also means that make-j now sees the terminal. > > This makes me worried. I *don't* want to have make behave differently > if it thinks it runs on a terminal.
More precisely, I'm talking about commands run within make. With compatmake (make without -j): commands are run thru fork/exec, transparently. With -current make -j4: commands are run with stdout and stderr directed to a pipe (and in a separate process group). With the -current work: commands are run the same way with/without -j. Simply, fork/exec, transparently. make doesn't care at all whether you run things in a terminal or not. Commands run within make may care. make shouldn't interfere with that, as far as possible ! The pipe stuff was an attempt at serializing output properly, at some point we thought it would be difficult to make sense of multiple commands. Turns out things are ways better than expected, so there's no reason to do that.
