On Fri, 3 Mar 2017, Paul Smith wrote:
Baffling?
Run make (in a remote directory freshly unpacked from your dist file)
with the "-d" flag (redirect it due to voluminous output) and it will
tell you exactly why it decided to run that recipe.
No doubt it depends on some other file which has an unexpected
timestamp.
Well, it's due to the distributed 'doc/quagga.info' being slightly older
than the (built by automake) doc/defines.texi.
Both are made by the 'make dist' and put in the dist tarball. Then
distcheck unpacks that to a subdir, makes it RO, and creates another
subdir for an out-of-tree build and builds in that. automake then makes
a new doc/defines.texi, but the dist source ../../../doc/quagga.info of
course is now older, so...
This is from within the out-of-tree builddir that make distcheck is
building in, with the unpacked RO dist sources at ../../..
$ ls -l ../../../doc/{quagga.info,defines.texi*}
-r--r--r-- 1 paul paul 503 Mar 3 16:34 ../../../doc/defines.texi
-r--r--r-- 1 paul paul 480 Feb 8 15:19 ../../../doc/defines.texi.in
-r--r--r-- 1 paul paul 9169 Mar 3 16:34 ../../../doc/quagga.info
$ ls -l defines.texi
-rw-rw-r-- 1 paul paul 503 Mar 3 16:44 defines.texi
defines.texi.in is how we get stuff like INSTALL_PREFIX into the TexInfo
documentation.
I guess we could find a way to /not/ distribute the built quagga.info,
but that would then require people to have texinfo to build the project.
Though, there's a risk whatever it is would still try build it as
../../../doc/quagga.info rather than doc/quagga.info.
I'm using fairly standard Automake macros to do this:
# Built from defines.texi.in
BUILT_SOURCES = defines.texi
info_TEXINFOS = quagga.texi
quagga_TEXINFOS =
Looking at the automake documentation I read:
"It is worth noting that, contrary to what happens with the other
formats, the generated ‘.info’ files are by default placed in ‘srcdir’
rather than in the ‘builddir’."
Could that be the source of the problem?
It goes on:
"This can be changed with the ‘info-in-builddir’ option."
And, indeed, when I add "AUTOMAKE_OPTIONS=info-in-builddir" to
doc/Makefile.am the above problem disappears!
This seems to be sub-optimal in automake? Any auto-generation of files
by automake used for the info documentation results in a broken
distcheck?
regards,
--
Paul Jakma | p...@jakma.org | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
-- Benjamin Franklin, 1759