On Thu, Jun 05, 2025 at 08:40:21AM -0700, Paul Eggert wrote:
> On 2025-06-05 06:21, Eric Blake wrote:
> > Adding gnulib
> 
> Bruno fixed that MSVC-related bug in Gnulib three weeks ago:
> 
> https://cgit.git.savannah.gnu.org/cgit/gnulib.git/commit/?id=f7810929b1d35f1edcc0945df880adf6a6566602
> 
> and I just now propagated that into Savannah's m4 (branch-1.4).

Thanks!  That gnulib fix was May 12, for a regression on May 7, and I
released m4 1.4.20 on May 10, after an earlier snapshot was available
for testing prior to the point where gnulib was broken.  Unfortunate
timing on my part, since I don't have easy access to MSVC compilation
to have noticed the broken build prior to the release.  Is there a CI
engine that regularly does MSVC builds that I could have checked
before doing the release?  At any rate, it looks like it would be wise
for me to get things working and release m4 1.4.21.

> 
> 
> > > checking for GNU gettext in libintl... no
> > > checking whether to use NLS... no
> 
> I guess m4 was prepared from an old git checkout, which had an obsolete
> gettext.m4 in it. This is due to a bug in m4's bootstrap script, which was
> forked from Gnulib's a while ago (I don't know why). To work around m4's
> bootstrap bug you can prepare an m4 distribution from a fresh git checkout
> (and run on a platform with the latest gettext installed, and maybe some
> other recent tools too).
> 
> At some point m4 should switch to Gnulib's bootstrap machinery, but that's a
> bigger task.

Yeah, there's been a long history of differences between Gary's
version and gnulib's version.  Gary's bootstrap first appeared in m4
in 2007, while gnulib first gained build-aux/bootstrap written by Paul
also in 2007; at times the two have cross-pollinated ideas, but more
recently, Gary created an entire project just dedicated to making
bootstrap more portable, which was shared by both m4 and libtool.
Trying to unite the best ideas from both is a bigger task than I have
time to tackle, but using gnulib's bootstrap instead of Gary's for m4
might be within reason.

But the fact that Gary's version did not pick the best possible
gettext.m4 file does make me worry about what else it is doing
different than gnulib; and gives all the more reason to make an m4
1.4.21 that does not have the same issues of stale .m4 files.  You can
also see places where both Bruno and I were fretting about other
oddities exposed by Gary's bootstrap not upgrading .m4 files in the
same way that gnulib's does, as I remember having a hard time getting
autoreconf to work:

https://lists.gnu.org/archive/html/bug-m4/2025-04/msg00043.html

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org


Reply via email to