On Sun, 2023-02-19 at 09:17 -0500, Ken Brown wrote:
So I'm not sure where to go from here on Cygwin. Should I force
Cygwin builds to use the "pipe" jobserver, as I've done for
GNU/Hurd?
My preference would be for you to provide a configure option, which
defaults to "pipe" on Cygwin. But if you don't want to do that, then
I think you should force Cygwin builds to use "pipe".
There is (in my current implementation, not released yet) a way to do
that but it's a little obscure; you need to use:
./configure CPPFLAGS=-DJOBSERVER_USE_FIFO=0
or
./configure CPPFLAGS=-DJOBSERVER_USE_FIFO=1
If you set it explicitly then that setting is obeyed regardless of the
capabilities of the system (well, if mkfifo() is not available then
trying to enable it is a no-op of course).
Should I add preprocessor checks (or autoconf checks?) to try to
figure out which version of Cygwin is being used and choose based
on that? I don't know how to check versions.
That wouldn't help. There's currently no known version of Cygwin on
which the fifo option works well. (Bruno tested on old version, I
tested the current version.)
OK but I noted you said:
If I simply run 'make -j13 world' without using the Build script, it
doesn't hang.
so I wasn't sure if we were considering that a "full failure".