On Thu, 2021-03-04 at 14:12 -0500, Martin d'Anjou wrote: > Thanks Paul, but I am confused by this paragraph: > > >However, make ALWAYS sends along the MAKEFLAGS variable to all commands > >it runs, whether they are sub-makes or not. And, there is a bug (filed > >in Savannah) that even when make determines that the process is not a > >sub-make, it will still send along the jobserver information in > >MAKEFLAGS. > > The confusing parts to me: "make ALWAYS sends along the MAKEFLAGS" > and "it will still send along the jobserver information in > MAKEFLAGS". > > If make already always sends MAKEFLAGS, why say that the bug fix > proposes to also always send MAKEFLAGS. I am not getting it... it's > already doing it.
I probably just wasn't clear. Today, all commands make invokes receive MAKEFLAGS in their environment and the value of that variable is always the same, regardless of whether the jobserver file descriptors were closed or not. For example, it might be this: MAKEFLAGS=-j10 --jobserver-auth=3,4 What I'm saying is that we want to make a change where if make invokes a sub-make and leaves the jobserver pipe open, it will send the above value of MAKEFLAGS to the command. But, if make invokes a non-sub-make process and closes the jobserver pipe (so that file descritors 3 and 4 are no longer valid for the jobserver), we will change make to send a MAKEFLAGS value like: MAKEFLAGS=-j10 --jobserver-auth=- or something instead, so that any subprocess make invocations that inherit this MAKEFLAGS will know that they shouldn't try to use the jobserver and won't try to use descriptors 3 and 4 as the jobserver pipe.