On Thu, 2022-03-10 at 16:41 +0000, Adam Dinwoodie wrote: > I've fallen down a slight rabbit hole looking at the cygconf function in > Cygport's autotools.cygclass. The specific bit of code that's causing > me consternation is thus: > > case "x${confver}" in > x2.6[0-9]*) > confargs+=" --docdir=/usr/share/doc/${PN} > --htmldir=/usr/share/doc/${PN}/html" > ;; > *) > confargs+=" --infodir=${prefix}/share/info > --mandir=${prefix}/share/man" > ;; > esac > > Firstly, I think the glob is incorrect: it looks like it was intended to > match files that came from Autoconf versions 2.60 and up -- 2.60 is when > Autoconf added the docdir and htmldir arguments -- but it has stopped > working as expected: Autoconf released 2.70 in December 2020, and is now > up to 2.71. The above code won't match those versions.
Yes, this likely needs to be updated for 2.70+. > Secondly -- and I'm not sure if this is intended or not -- I don't > understand why --infodir and --mandir are only defined for versions > prior to 2.60 (and, apparently unintentionally, 2.70 onwards). Those > are valid both before and after 2.60. My best guess is that the intent > was for the first option to fall through to the second, so for 2.60+ all > four options would be defined, but that would have required `;&` or > `;;&` rather than `;;`. No. 2.60 included changes for these (and other) directory values: https://lists.gnu.org/archive/html/autotools-announce/2006-06/msg00002.html docdir and htmldir were added in 2.60, hence we don't want to pass them when <=2.59 is detected. infodir and mandir were changed in 2.60, from $prefix/{info,man} (which cygport needed to override for FHS compliance) to $datarootdir/{info,man}, where the new datarootdir is $prefix/share, meaning they no longer needed to be overriden by cygport. HTH, -- Yaakov