[PATCH] libctf: update regexp to allow makeinfo to build document

Eli Zaretskii eliz@gnu.org
Fri Jan 13 15:05:47 GMT 2023


> Cc: gdb-patches@sourceware.org,
> 	enze.li@gmx.com
> Date: Fri, 13 Jan 2023 22:42:32 +0800
> From: Enze Li via Gdb-patches <gdb-patches@sourceware.org>
> 
> While trying to build gdb on latest openSUSE Tumbleweed, I noticed the
> following warning,
> 
>  checking for makeinfo... makeinfo --split-size=5000000
>  configure: WARNING:
>  *** Makeinfo is too old. Info documentation will not be built.
> 
> then I checked the version of makeinfo, it said,
> ======
> $ makeinfo --version
> texi2any (GNU texinfo) 7.0.1
> 
> Copyright (C) 2022 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> ======
> 
> After digging a little bit, it became quite obvious that a dot is
> missing in regexp that makes it impossible to match versions higher than
> 7.0.

Thanks.

> libctf/ChangeLog:
> 
> 	* configure: Regenerated.
> 	* configure.ac: Update regexp to match versions higher than 7.0.
> ---
>  libctf/configure    | 2 +-
>  libctf/configure.ac | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/libctf/configure b/libctf/configure
> index c22f7dffd2c..e9f7125edea 100755
> --- a/libctf/configure
> +++ b/libctf/configure
> @@ -14864,7 +14864,7 @@ esac
>      # We require texinfo to be 6.3 or later, for a working synindex
>      # and validatemenus: otherwise we fall back to /bin/true.
>      if ${MAKEINFO} --version \
> -       | egrep 'texinfo[^0-9]*(6\.[3-9]|[7-9][0-9])' >/dev/null 2>&1; then
> +       | egrep 'texinfo[^0-9]*(6\.[3-9]|[7-9]\.[0-9])' >/dev/null 2>&1; then
>        build_info=yes
>      else
>          build_info=
> diff --git a/libctf/configure.ac b/libctf/configure.ac
> index 1d0cf4d0fa5..4bc75736542 100644
> --- a/libctf/configure.ac
> +++ b/libctf/configure.ac
> @@ -184,7 +184,7 @@ changequote(,)
>      # We require texinfo to be 6.3 or later, for a working synindex
>      # and validatemenus: otherwise we fall back to /bin/true.
>      if ${MAKEINFO} --version \
> -       | egrep 'texinfo[^0-9]*(6\.[3-9]|[7-9][0-9])' >/dev/null 2>&1; then
> +       | egrep 'texinfo[^0-9]*(6\.[3-9]|[7-9]\.[0-9])' >/dev/null 2>&1; then
>        build_info=yes
>      else
>          build_info=

IMO, this solution has the same problem: it will stop working when
Texinfo 10.1 will be released.  I think the solution should be to use

  egrep 'texinfo[^0-9]*(6\.[3-9]|[7-9][0-9]?)'

That is, we don't care about the minor version for Texinfo > 6.9, we
only care about the major version.


More information about the Binutils mailing list