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". I guess if we don't know why it happens, we just have to disable mkfifo(). I will change the default setting of the jobserver to use "pipe" on Cygwin, at least for now.