> On Oct 30, 2024, at 9:37 AM, Paul Smith via austin-group-l at The Open Group 
> <[email protected]> wrote:
> 
> On Tue, 2024-10-29 at 22:02 +0000, Andrew wrote:
>>> GNU Make has supported non-interleaved output since version 4.0
>> (released in 2013).
>> 
>> Is this with the GNU option --output-sync?
> 
> Yes.
> 
> All versions interleave by default.
> 
>> I wish the capability were opt out. Anyone that fixated on
>> performance will have bigger problems due to the sheer number of log
>> lines involved, nevermind concurrency issues.
> 
> If you want to discuss this, the [email protected] or [email protected]
> mailing lists are the proper forum (no subscription required to post to
> those lists).  It's not really appropriate for the OpenGroup lists.
> 
> However, there are real downsides to synchronized output, since output
> (a) goes to a file not a terminal and (b) cannot be printed until the
> recipe is completely finished. 

I don't think output interleaving should be the *default* (it isn't now!).

However, I *do* think having a standard way to *request* output interleaving in 
make
would make sense in POSIX. I would suggest using the GNU Make one-letter
option "-O" (aka "--output-sync"). Make it clear that adding "-O" to
MAKEFLAGS would give output interleaving, and you have the capability.

Today's computer systems pretty much *all* have multiple CPUs, and the
jobs to be done are much larger. The 2024 edition added "-j" to make to support
parallel computation because its use is widespread.
A standard option for option interleaving would improve things further.

> For example, if the recipe runs a sub-
> make then nothing is printed until the entire sub-make is complete
> which could be many minutes or even hours.


True, but if someone doesn't like that impact,
the solution is easy: don't use sub-makes. The make tool must *support*
sub-makes, but using sub-makes often leads to incorrect
builds, unnecessary builds, and so on.

Standardizing output interleaving would be sensible. GNU Make already implements
and is widely used, just use its "-O".

--- David A. Wheeler



  • request: make [-j... Andrew via austin-group-l at The Open Group
    • Re: request:... Lawrence Velázquez via austin-group-l at The Open Group
    • Re: request:... Rob Landley via austin-group-l at The Open Group
      • Re: requ... G. Branden Robinson via austin-group-l at The Open Group
      • Re: requ... Andrew via austin-group-l at The Open Group
        • Re: ... Paul Smith via austin-group-l at The Open Group
          • ... Andrew via austin-group-l at The Open Group
            • ... Paul Smith via austin-group-l at The Open Group
              • ... David A. Wheeler via austin-group-l at The Open Group
                • ... Paul Smith via austin-group-l at The Open Group
                • ... Steffen Nurpmeso via austin-group-l at The Open Group
        • Re: ... Rob Landley via austin-group-l at The Open Group
          • ... enh via austin-group-l at The Open Group
          • ... Paul Smith via austin-group-l at The Open Group
            • ... David A. Wheeler via austin-group-l at The Open Group
              • ... Steffen Nurpmeso via austin-group-l at The Open Group
              • ... Paul Smith via austin-group-l at The Open Group
                • ... Dmitry Goncharov via austin-group-l at The Open Group
      • Re: requ... Steffen Nurpmeso via austin-group-l at The Open Group

Reply via email to