On Wed, Dec 26, 2018 at 17:20:50 -0500, Andrew Janke wrote:
Could someone tell me about the relationship between the gnulib/ and libgnu/
directories in the source tree? I'm working on the mkfifo bug
(https://savannah.gnu.org/bugs/index.php?55273) which is gnulib-related, and
I don't see how those two dirs fit together. It looks like libgnu is a
customized or subsetted variant of gnulib?
Gnulib is an independent project that acts as a shim to try to make
standard system calls behave consistently between operating systems.
Octave includes gnulib as a sub repository.
Octave is a consumer of gnulib, the list of modules that Octave uses is
in bootstrap.conf. As part of the bootstrap process, certain C source
files are copied from gnulib/lib into libgnu. The name "libgnu" is
entirely Octave's choice, it can be anything.
Then, as part of the configure process on a particular system, certain C
sources are conditionally compiled into the libgnu internal library,
which becomes part of liboctave.
I had asked on bug #55273 whether REPACE_MKFIFO is true or false on
affected systems, no answer yet. If REPLACE_MKFIFO is true on your
system, then Octave is including the gnulib mkfifo.c shim.