Cygport configure script argument handling

Adam Dinwoodie adam@dinwoodie.org
Fri Mar 11 09:05:20 GMT 2022


On Fri, Mar 11, 2022 at 12:38:47AM -0500, Yaakov Selkowitz wrote:
> 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+.

Grand, I'll see if I can offer a patch shortly :)

> > 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.

Ah!  Yes, that makes sense.  Thank you for the explanation!

Adam


More information about the Cygwin-apps mailing list