Answers below... ---------------------------------------- > From: schwab@linux-m68k.org > To: vincent.b.1@hotmail.fr > Subject: Re: Patch to allow texi2any for EMACS manual compilation > Date: Mon, 22 Sep 2014 20:59:48 +0200 > CC: pertusus@free.fr; karl@freefriends.org; eggert@cs.ucla.edu; emacs-devel@gnu.org > > Vincent Belaïche writes: > > > === modified file 'configure.ac' > > --- configure.ac 2014-09-15 00:20:21 +0000 > > +++ configure.ac 2014-09-22 17:36:48 +0000 > > @@ -1099,16 +1099,25 @@ > > > > ## Need makeinfo >= 4.7 (?) to build the manuals. > > if test "$MAKEINFO" != "no"; then > > - if test "$MAKEINFO" = "${am_missing_run}makeinfo"; then > > - MAKEINFO=makeinfo > > + for MAKEINFO_IMPLEMENTATION in makeinfo texi2any; do > > + if test "$MAKEINFO" = "${am_missing_run}${MAKEINFO_IMPLEMENTATION}"; then > > + MAKEINFO=${MAKEINFO_IMPLEMENTATION} > > + fi > > + done > > + MAKEINFO_VERSION=`($MAKEINFO --version) 2>/dev/null`; > > + MAKEINFO_CHECK=no; > > + for MAKEINFO_IMPLEMENTATION in makeinfo texi2any; do > > + case $MAKEINFO_VERSION in > > + "$MAKEINFO_IMPLEMENTATION (GNU texinfo) "4.[7-9]* | \ > > + "$MAKEINFO_IMPLEMENTATION (GNU texinfo) "4.[1-9][0-9]* | \ > > + "$MAKEINFO_IMPLEMENTATION (GNU texinfo) "[5-9]* | \ > > + "$MAKEINFO_IMPLEMENTATION (GNU texinfo) "[1-9][0-9]* ) > > + MAKEINFO_CHECK=yes;; > > + esac > > + done > > + if [ $MAKEINFO_CHECK != yes ]; then > > + MAKEINFO=no; > > fi > > - case `($MAKEINFO --version) 2>/dev/null` in > > - 'makeinfo (GNU texinfo) '4.[[7-9]]* | \ > > - 'makeinfo (GNU texinfo) '4.[[1-9][0-9]]* | \ > > - 'makeinfo (GNU texinfo) '[[5-9]]* | \ > > - 'makeinfo (GNU texinfo) '[[1-9][0-9]]* ) ;; > > Why can't you just replace it with a wildcard? What's the point in > matching the exact program name? > There is a version number checking. So we rely on the fact that texi2any and makeinfo have both: - consistent version numbers: C based makeinfo version does not go beyond 4.99 (AFAIK last version is 4.13), while texi2any starts at 5.0 - consistent command line, texi2any command line is a superset of that makeinfo. Now, yes it would be possible to use a wildecard, given that it is quite unlikely than there are other alternative to makeinfo than texi2any. To make it slightly more restictive, wildcard could be ???????? instead of * because makeinfo & texi2any both have 8 letters. BTW, when I did the patch I initially thought that my problem was with using a fake makeinfo that is indeed a skin of texi2any. But it came out that this was not the only issue. Current configure.ac uses that sort of wildcard: [[7-9]] with [...] encapsulation around `[7-9]'. This does not work for me and I did not found any such thing in the manual: http://www.gnu.org/software/bash/manual/bashref.html#pattern-matching so I removed also that encapsulation as in the attached patch.