bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: minimum autoconf version


From: Eric Blake
Subject: Re: minimum autoconf version
Date: Mon, 02 Jul 2012 08:11:38 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1

On 07/01/2012 05:40 PM, Bruno Haible wrote:
> Hi all,
> 

> 
> The problem occurs only with Autoconf versions < 2.64. Carlos used
> version 2.63. In the testdir's configure file generated, there are
> the following lines:
> 

> So, there are two copies of gl_FUNC_LOGF in the expansion. In Autoconf
> version >= 2.64, both are complete with prerequisites. But with
> Autoconf 2.63, in the first case, the prerequisites are not in the right
> order.
> 
> Incidentally, autoconf >= 2.64 also reports a warning:
> 
>   configure.ac:2592: warning: AC_REQUIRE: `gl_FUNC_LOG' was expanded before 
> it was required
>   glm4/logl.m4:7: gl_FUNC_LOGL is expanded from...
>   glm4/log10l.m4:7: gl_FUNC_LOG10L is expanded from...
>   configure.ac:41: gl_INIT is expanded from...
>   configure.ac:2592: the top level
> 
> The attached patch fixes this warning and leads to a correct configure
> file with autoconf 2.63.

This is not the first time we've fixed this sort of bug.  The canonical
fix in gnulib is to use AC_DEFUN_ONCE instead of AC_DEFUN for any
function that we want to guarantee that it gets expanded without
triggering the older autoconf bug.


> So, version 2.64 is already nearly 3 years old.
> 
> I would therefore propose (b), that is, to bump the required Autoconf
> version in the DEPENDENCIES file and gnulib-tool to 2.64.
> 
> Opinions? Objections?

Strong Objection.  Making this bump would render RHEL 5 / CentOS 5 as a
non-development platform (since these still ship autoconf 2.59).  We've
already been able to be quite accommodating to these platforms in the
past, and I don't see any reason to change that now.

> 
> 
> 2012-07-01  Bruno Haible  <address@hidden>
> 
>       log: Fix an autoconf >= 2.64 warning.
>       * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
>       Reported by Carlos O'Donell <address@hidden>.
> 
> --- modules/log.orig  Mon Jul  2 01:11:59 2012
> +++ modules/log       Mon Jul  2 01:10:03 2012
> @@ -10,7 +10,7 @@
>  math
>  
>  configure.ac:
> -gl_FUNC_LOG
> +AC_REQUIRE([gl_FUNC_LOG])

This is one possible fix, but the canonical fix I had in mind is:

diff --git i/m4/log.m4 w/m4/log.m4
index a04362a..22fe77a 100644
--- i/m4/log.m4
+++ w/m4/log.m4
@@ -1,10 +1,10 @@
-# log.m4 serial 4
+# log.m4 serial 5
 dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.

-AC_DEFUN([gl_FUNC_LOG],
+AC_DEFUN_ONCE([gl_FUNC_LOG],
 [
   m4_divert_text([DEFAULTS], [gl_log_required=plain])
   AC_REQUIRE([gl_MATH_H_DEFAULTS])


and similarly for any other macro that works well whether used directly
or required.

-- 
Eric Blake   address@hidden    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]