bug-gnulib
[Top][All Lists]
Advanced

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

minimum autoconf version


From: Bruno Haible
Subject: minimum autoconf version
Date: Mon, 02 Jul 2012 01:40:08 +0200
User-agent: KMail/4.7.4 (Linux/3.1.10-1.9-desktop; KDE/4.7.4; x86_64; ; )

Hi all,

Carlos O'Donell wrote on libc-alpha:
> http://sourceware.org/glibc/wiki/Testing/Gnulib
> 
> Running the 2.16 release candidate against the gnulib 
> testsuite has turned up three object files being build 
> by gnulib that aren't listed in the known issues:
> 
> (a) logf
> (b) log10f
> (c) remove
> (d) strstr

Regarding logf, I tracked it down, thanks to the configure file
and related outputs that Carlos provided.

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:

2.63
36684:for ac_func in logf
83846:  LOG_LIBM="$POW_LIBM"
88089:for ac_func in logf

2.64
23667:  LOG_LIBM="$POW_LIBM"
23977:  for ac_func in logf
52057:  LOG_LIBM="$POW_LIBM"
54518:  for ac_func in logf

2.65
23694:  LOG_LIBM="$POW_LIBM"
24004:  for ac_func in logf
52084:  LOG_LIBM="$POW_LIBM"
54545:  for ac_func in logf

2.66
23694:  LOG_LIBM="$POW_LIBM"
24004:  for ac_func in logf
52071:  LOG_LIBM="$POW_LIBM"
54532:  for ac_func in logf

The 'for ac_func in logf' lines come from AC_CHECK_FUNCS([logf]) inside
gl_FUNC_LOGF and is immediately preceded by a use of $LOG_LIBM. This
variable LOG_LIBM is meant to be initialized by AC_REQUIRE([gl_FUNC_LOG]),
since gl_FUNC_LOG contains gl_COMMON_DOUBLE_MATHFUNC([log]) which expands
to 'LOG_LIBM="$POW_LIBM"'.

The 'LOG_LIBM="$POW_LIBM"' lines come from the gl_COMMON_DOUBLE_MATHFUNC([log])
in gl_FUNC_LOG.

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.


But this warning can reoccur again. We have two choices:
  (a) Review all AC_REQUIREs in gnulib, and work around the old Autoconf bug
      in each case,
  (b) Require Autoconf >= 2.64. The problem with the older Autoconf releases
      is that they have an AC_REQUIRE ordering bug *and* don't warn.

Regarding (a), The list of suspect AC_REQUIREs is as follows:

m4/acosf.m4:  AC_REQUIRE([gl_FUNC_ACOS])
m4/acosl.m4:      AC_REQUIRE([gl_FUNC_ACOS])
m4/acosl.m4:      AC_REQUIRE([gl_FUNC_ASINL])
m4/acosl.m4:      AC_REQUIRE([gl_FUNC_SQRTL])
m4/asinf.m4:  AC_REQUIRE([gl_FUNC_ASIN])
m4/asinl.m4:      AC_REQUIRE([gl_FUNC_ASIN])
m4/asinl.m4:      AC_REQUIRE([gl_FUNC_SQRTL])
m4/atan2f.m4:  AC_REQUIRE([gl_FUNC_ATAN2])
m4/atanf.m4:  AC_REQUIRE([gl_FUNC_ATAN])
m4/atanl.m4:      AC_REQUIRE([gl_FUNC_ATAN])
m4/atanl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/canonicalize.m4:  AC_REQUIRE([gl_FUNC_REALPATH_WORKS])
m4/canonicalize.m4:  AC_REQUIRE([gl_FUNC_REALPATH_WORKS])
m4/cbrtf.m4:  AC_REQUIRE([gl_FUNC_CBRT])
m4/cbrtf.m4:    AC_REQUIRE([gl_FUNC_FABSF])
m4/cbrtf.m4:    AC_REQUIRE([gl_FUNC_FREXPF])
m4/cbrtf.m4:    AC_REQUIRE([gl_FUNC_LDEXPF])
m4/cbrtl-ieee.m4:  AC_REQUIRE([gl_FUNC_CBRTL])
m4/cbrtl.m4:  AC_REQUIRE([gl_FUNC_CBRT])
m4/cbrtl.m4:      AC_REQUIRE([gl_FUNC_FREXPL])
m4/cbrtl.m4:      AC_REQUIRE([gl_FUNC_LDEXPL])
m4/cbrt.m4:    AC_REQUIRE([gl_FUNC_FABS])
m4/cbrt.m4:    AC_REQUIRE([gl_FUNC_FREXP])
m4/cbrt.m4:    AC_REQUIRE([gl_FUNC_LDEXP])
m4/ceilf-ieee.m4:  AC_REQUIRE([gl_FUNC_CEILF])
m4/ceil-ieee.m4:  AC_REQUIRE([gl_FUNC_CEIL])
m4/ceill-ieee.m4:  AC_REQUIRE([gl_FUNC_CEILL])
m4/ceill.m4:      AC_REQUIRE([gl_FUNC_CEIL])
m4/chown.m4:  AC_REQUIRE([gl_FUNC_CHOWN_FOLLOWS_SYMLINK])
m4/copysignl.m4:      AC_REQUIRE([gl_FUNC_COPYSIGN])
m4/cosf.m4:  AC_REQUIRE([gl_FUNC_COS])
m4/coshf.m4:  AC_REQUIRE([gl_FUNC_COSH])
m4/cosl.m4:      AC_REQUIRE([gl_FUNC_COS])
m4/cosl.m4:      AC_REQUIRE([gl_FUNC_FLOOR])
m4/cosl.m4:      AC_REQUIRE([gl_FUNC_FLOORL])
m4/cosl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/euidaccess.m4:  AC_REQUIRE([gl_FUNC_EUIDACCESS])
m4/exp2f.m4:  AC_REQUIRE([gl_FUNC_EXP2])
m4/exp2l-ieee.m4:  AC_REQUIRE([gl_FUNC_EXP2L])
m4/exp2l.m4:  AC_REQUIRE([gl_FUNC_EXP2])
m4/exp2l.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/exp2l.m4:      AC_REQUIRE([gl_FUNC_LDEXPL])
m4/exp2l.m4:      AC_REQUIRE([gl_FUNC_ROUNDL])
m4/exp2.m4:    AC_REQUIRE([gl_FUNC_ISNAND])
m4/exp2.m4:    AC_REQUIRE([gl_FUNC_LDEXP])
m4/exp2.m4:    AC_REQUIRE([gl_FUNC_ROUND])
m4/expf.m4:  AC_REQUIRE([gl_FUNC_EXP])
m4/expl.m4:      AC_REQUIRE([gl_FUNC_EXP])
m4/expl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/expl.m4:      AC_REQUIRE([gl_FUNC_LDEXPL])
m4/expl.m4:      AC_REQUIRE([gl_FUNC_ROUNDL])
m4/expm1f.m4:  AC_REQUIRE([gl_FUNC_EXPM1])
m4/expm1-ieee.m4:  AC_REQUIRE([gl_FUNC_EXPM1])
m4/expm1l.m4:      AC_REQUIRE([gl_FUNC_EXPL])
m4/expm1l.m4:      AC_REQUIRE([gl_FUNC_EXPM1])
m4/expm1l.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/expm1l.m4:      AC_REQUIRE([gl_FUNC_LDEXPL])
m4/expm1l.m4:      AC_REQUIRE([gl_FUNC_ROUNDL])
m4/expm1.m4:    AC_REQUIRE([gl_FUNC_EXP])
m4/expm1.m4:    AC_REQUIRE([gl_FUNC_ISNAND])
m4/expm1.m4:    AC_REQUIRE([gl_FUNC_LDEXP])
m4/expm1.m4:    AC_REQUIRE([gl_FUNC_ROUND])
m4/fabsf.m4:  AC_REQUIRE([gl_FUNC_FABS])
m4/fabsl.m4:      AC_REQUIRE([gl_FUNC_FABS])
m4/fchownat.m4:  AC_REQUIRE([gl_FUNC_CHOWN])
m4/fclose.m4:  AC_REQUIRE([gl_FUNC_CLOSE])
m4/findprog.m4:  AC_REQUIRE([gl_FUNC_EACCESS])
m4/floorf-ieee.m4:  AC_REQUIRE([gl_FUNC_FLOORF])
m4/floor-ieee.m4:  AC_REQUIRE([gl_FUNC_FLOOR])
m4/floorl.m4:      AC_REQUIRE([gl_FUNC_FLOOR])
m4/fmaf.m4:    AC_REQUIRE([gl_FUNC_FEGETROUND])
m4/fmaf.m4:    AC_REQUIRE([gl_FUNC_FREXPF])
m4/fmaf.m4:  AC_REQUIRE([gl_FUNC_LDEXPF])
m4/fmaf.m4:    AC_REQUIRE([gl_FUNC_LDEXPF])
m4/fmal.m4:      AC_REQUIRE([gl_FUNC_FEGETROUND])
m4/fmal.m4:      AC_REQUIRE([gl_FUNC_FMA])
m4/fmal.m4:      AC_REQUIRE([gl_FUNC_FREXPL])
m4/fmal.m4:  AC_REQUIRE([gl_FUNC_LDEXPL])
m4/fmal.m4:      AC_REQUIRE([gl_FUNC_LDEXPL])
m4/fma.m4:    AC_REQUIRE([gl_FUNC_FEGETROUND])
m4/fma.m4:    AC_REQUIRE([gl_FUNC_FREXP])
m4/fma.m4:  AC_REQUIRE([gl_FUNC_LDEXP])
m4/fma.m4:    AC_REQUIRE([gl_FUNC_LDEXP])
m4/fmodf-ieee.m4:  AC_REQUIRE([gl_FUNC_FMODF])
m4/fmodf.m4:  AC_REQUIRE([gl_FUNC_FMOD])
m4/fmod-ieee.m4:  AC_REQUIRE([gl_FUNC_FMOD])
m4/fmodl-ieee.m4:  AC_REQUIRE([gl_FUNC_FMODL])
m4/fmodl.m4:      AC_REQUIRE([gl_FUNC_FABSL])
m4/fmodl.m4:  AC_REQUIRE([gl_FUNC_FMOD])
m4/fmodl.m4:      AC_REQUIRE([gl_FUNC_FREXPL])
m4/fmodl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/fmodl.m4:      AC_REQUIRE([gl_FUNC_LDEXPL])
m4/fmodl.m4:      AC_REQUIRE([gl_FUNC_TRUNCL])
m4/fmod.m4:    AC_REQUIRE([gl_FUNC_FABS])
m4/fmod.m4:    AC_REQUIRE([gl_FUNC_FREXP])
m4/fmod.m4:    AC_REQUIRE([gl_FUNC_ISNAND])
m4/fmod.m4:    AC_REQUIRE([gl_FUNC_LDEXP])
m4/fmod.m4:    AC_REQUIRE([gl_FUNC_TRUNC])
m4/fnmatch.m4:  AC_REQUIRE([gl_FUNC_FNMATCH_POSIX])
m4/frexpf.m4:  AC_REQUIRE([gl_FUNC_FREXP])
m4/frexpl.m4:      AC_REQUIRE([gl_FUNC_FREXP])
m4/fseek.m4:  AC_REQUIRE([gl_FUNC_FSEEKO])
m4/fstatat.m4:  AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
m4/ftell.m4:  AC_REQUIRE([gl_FUNC_FTELLO])
m4/getaddrinfo.m4:  AC_REQUIRE([gl_FUNC_INET_NTOP]) dnl for INET_NTOP_LIB
m4/getcwd.m4:  AC_REQUIRE([gl_FUNC_GETCWD_NULL])
m4/getcwd.m4:  AC_REQUIRE([gl_FUNC_GETCWD_NULL])
m4/getcwd.m4:  AC_REQUIRE([gl_FUNC_GETCWD_SIGNATURE])
m4/getcwd.m4:  AC_REQUIRE([gl_FUNC_GETCWD_SIGNATURE])
m4/getopt.m4:  AC_REQUIRE([gl_FUNC_GETOPT_POSIX])
m4/hypotf-ieee.m4:  AC_REQUIRE([gl_FUNC_HYPOTF])
m4/hypotf.m4:  AC_REQUIRE([gl_FUNC_HYPOT])
m4/hypot-ieee.m4:  AC_REQUIRE([gl_FUNC_HYPOT])
m4/hypotl-ieee.m4:  AC_REQUIRE([gl_FUNC_HYPOTL])
m4/hypotl.m4:      AC_REQUIRE([gl_FUNC_FABSL])
m4/hypotl.m4:      AC_REQUIRE([gl_FUNC_FREXPL])
m4/hypotl.m4:  AC_REQUIRE([gl_FUNC_HYPOT])
m4/hypotl.m4:      AC_REQUIRE([gl_FUNC_LDEXPL])
m4/hypotl.m4:      AC_REQUIRE([gl_FUNC_SQRTL])
m4/hypot.m4:    AC_REQUIRE([gl_FUNC_FABS])
m4/hypot.m4:    AC_REQUIRE([gl_FUNC_FREXP])
m4/hypot.m4:    AC_REQUIRE([gl_FUNC_LDEXP])
m4/hypot.m4:    AC_REQUIRE([gl_FUNC_SQRT])
m4/iconv_open-utf.m4:  dnl *Not* AC_REQUIRE([gl_FUNC_ICONV_OPEN]).
m4/ilogbf.m4:    AC_REQUIRE([gl_FUNC_FREXPF])
m4/ilogbf.m4:    AC_REQUIRE([gl_FUNC_ISNANF])
m4/ilogbl.m4:      AC_REQUIRE([gl_FUNC_FREXPL])
m4/ilogbl.m4:  AC_REQUIRE([gl_FUNC_ILOGB])
m4/ilogbl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/ilogb.m4:    AC_REQUIRE([gl_FUNC_FREXP])
m4/ilogb.m4:    AC_REQUIRE([gl_FUNC_ISNAND])
m4/isnan.m4:  AC_REQUIRE([gl_FUNC_ISNAND])
m4/isnan.m4:  AC_REQUIRE([gl_FUNC_ISNANF])
m4/isnan.m4:  AC_REQUIRE([gl_FUNC_ISNANL])
m4/lchown.m4:  AC_REQUIRE([gl_FUNC_CHOWN])
m4/ldexpf.m4:  AC_REQUIRE([gl_FUNC_LDEXP])
m4/ldexpl.m4:  AC_REQUIRE([gl_FUNC_ISNANL]) dnl for ISNANL_LIBM
m4/ldexpl.m4:      AC_REQUIRE([gl_FUNC_LDEXP])
m4/linkat.m4:  AC_REQUIRE([gl_FUNC_LINK_FOLLOWS_SYMLINK])
m4/linkat.m4:  AC_REQUIRE([gl_FUNC_OPENAT])
m4/log10f-ieee.m4:  AC_REQUIRE([gl_FUNC_LOG10F])
m4/log10f.m4:  AC_REQUIRE([gl_FUNC_LOG10])
m4/log10-ieee.m4:  AC_REQUIRE([gl_FUNC_LOG10])
m4/log10l.m4:  AC_REQUIRE([gl_FUNC_LOG10])
m4/log10l.m4:        AC_REQUIRE([gl_FUNC_LOGL])
m4/log1pf-ieee.m4:  AC_REQUIRE([gl_FUNC_LOG1PF])
m4/log1pf.m4:  AC_REQUIRE([gl_FUNC_LOG1P])
m4/log1p-ieee.m4:  AC_REQUIRE([gl_FUNC_LOG1P])
m4/log1pl-ieee.m4:  AC_REQUIRE([gl_FUNC_LOG1PL])
m4/log1pl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/log1pl.m4:  AC_REQUIRE([gl_FUNC_LOG1P])
m4/log1pl.m4:      AC_REQUIRE([gl_FUNC_LOGL])
m4/log1pl.m4:      AC_REQUIRE([gl_FUNC_ROUNDL])
m4/log1p.m4:    AC_REQUIRE([gl_FUNC_ISNAND])
m4/log1p.m4:    AC_REQUIRE([gl_FUNC_LOG])
m4/log1p.m4:    AC_REQUIRE([gl_FUNC_ROUND])
m4/log2f-ieee.m4:  AC_REQUIRE([gl_FUNC_LOG2F])
m4/log2f.m4:      AC_REQUIRE([gl_FUNC_FREXPF])
m4/log2f.m4:      AC_REQUIRE([gl_FUNC_ISNANF])
m4/log2f.m4:  AC_REQUIRE([gl_FUNC_LOG2])
m4/log2f.m4:      AC_REQUIRE([gl_FUNC_LOGF])
m4/log2-ieee.m4:  AC_REQUIRE([gl_FUNC_LOG2])
m4/log2l.m4:      AC_REQUIRE([gl_FUNC_FREXPL])
m4/log2l.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/log2l.m4:  AC_REQUIRE([gl_FUNC_LOG2])
m4/log2l.m4:      AC_REQUIRE([gl_FUNC_LOGL])
m4/log2.m4:    AC_REQUIRE([gl_FUNC_FREXP])
m4/log2.m4:    AC_REQUIRE([gl_FUNC_ISNAND])
m4/log2.m4:    AC_REQUIRE([gl_FUNC_LOG])
m4/logbf.m4:    AC_REQUIRE([gl_FUNC_FREXPF])
m4/logbf.m4:    AC_REQUIRE([gl_FUNC_ISNANF])
m4/logbl.m4:      AC_REQUIRE([gl_FUNC_FREXPL])
m4/logbl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/logbl.m4:  AC_REQUIRE([gl_FUNC_LOGB])
m4/logb.m4:    AC_REQUIRE([gl_FUNC_FREXP])
m4/logb.m4:    AC_REQUIRE([gl_FUNC_ISNAND])
m4/logf-ieee.m4:  AC_REQUIRE([gl_FUNC_LOGF])
m4/logf.m4:  AC_REQUIRE([gl_FUNC_LOG])
m4/log-ieee.m4:  AC_REQUIRE([gl_FUNC_LOG])
m4/logl.m4:        AC_REQUIRE([gl_FUNC_FLOORL])
m4/logl.m4:        AC_REQUIRE([gl_FUNC_FREXPL])
m4/logl.m4:        AC_REQUIRE([gl_FUNC_ISNANL])
m4/logl.m4:      AC_REQUIRE([gl_FUNC_LOG])
m4/lstat.m4:    AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
m4/mbrlen.m4:  AC_REQUIRE([gl_FUNC_MBRTOWC])
m4/memmem.m4:  AC_REQUIRE([gl_FUNC_MEMMEM_SIMPLE])
m4/mkfifoat.m4:  AC_REQUIRE([gl_FUNC_OPENAT])
m4/mknod.m4:  AC_REQUIRE([gl_FUNC_MKFIFO])
m4/mktime.m4:  AC_REQUIRE([gl_FUNC_MKTIME])
m4/modff-ieee.m4:  AC_REQUIRE([gl_FUNC_MODFF])
m4/modff.m4:  AC_REQUIRE([gl_FUNC_MODF])
m4/modf-ieee.m4:  AC_REQUIRE([gl_FUNC_MODF])
m4/modfl-ieee.m4:  AC_REQUIRE([gl_FUNC_MODFL])
m4/modfl.m4:      AC_REQUIRE([gl_FUNC_MODF])
m4/modfl.m4:      AC_REQUIRE([gl_FUNC_TRUNCL])
m4/modf.m4:    AC_REQUIRE([gl_FUNC_TRUNC])
m4/nanosleep.m4: AC_REQUIRE([gl_FUNC_SELECT])
m4/openat.m4:  AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
m4/pagealign_alloc.m4:  AC_REQUIRE([gl_FUNC_MMAP_ANON])
m4/perror.m4:  AC_REQUIRE([gl_FUNC_STRERROR_0])
m4/perror.m4:  AC_REQUIRE([gl_FUNC_STRERROR_R])
m4/powf.m4:  AC_REQUIRE([gl_FUNC_POW])
m4/printf-posix-rpl.m4:  AC_REQUIRE([gl_FUNC_VFPRINTF_POSIX])
m4/readlinkat.m4:  AC_REQUIRE([gl_FUNC_OPENAT])
m4/remainderf-ieee.m4:  AC_REQUIRE([gl_FUNC_REMAINDERF])
m4/remainderf.m4:      AC_REQUIRE([gl_FUNC_FABSF])
m4/remainderf.m4:      AC_REQUIRE([gl_FUNC_FMODF])
m4/remainderf.m4:      AC_REQUIRE([gl_FUNC_ISNANF])
m4/remainderf.m4:  AC_REQUIRE([gl_FUNC_REMAINDER])
m4/remainder-ieee.m4:  AC_REQUIRE([gl_FUNC_REMAINDER])
m4/remainderl-ieee.m4:  AC_REQUIRE([gl_FUNC_REMAINDERL])
m4/remainderl.m4:      AC_REQUIRE([gl_FUNC_FABSL])
m4/remainderl.m4:      AC_REQUIRE([gl_FUNC_FMODL])
m4/remainderl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/remainderl.m4:  AC_REQUIRE([gl_FUNC_REMAINDER])
m4/remainder.m4:    AC_REQUIRE([gl_FUNC_FABS])
m4/remainder.m4:    AC_REQUIRE([gl_FUNC_FMOD])
m4/remainder.m4:    AC_REQUIRE([gl_FUNC_ISNAND])
m4/remove.m4:  AC_REQUIRE([gl_FUNC_RMDIR])
m4/remove.m4:  AC_REQUIRE([gl_FUNC_UNLINK])
m4/renameat.m4:  AC_REQUIRE([gl_FUNC_OPENAT])
m4/renameat.m4:  AC_REQUIRE([gl_FUNC_RENAME])
m4/rintl.m4:      AC_REQUIRE([gl_FUNC_RINT])
m4/roundf-ieee.m4:  AC_REQUIRE([gl_FUNC_ROUNDF])
m4/round-ieee.m4:  AC_REQUIRE([gl_FUNC_ROUND])
m4/roundl-ieee.m4:  AC_REQUIRE([gl_FUNC_ROUNDL])
m4/roundl.m4:      AC_REQUIRE([gl_FUNC_ROUND])
m4/setenv.m4:  AC_REQUIRE([gl_FUNC_SETENV_SEPARATE])
m4/sinf.m4:  AC_REQUIRE([gl_FUNC_SIN])
m4/sinhf.m4:  AC_REQUIRE([gl_FUNC_SINH])
m4/sinl.m4:      AC_REQUIRE([gl_FUNC_FLOOR])
m4/sinl.m4:      AC_REQUIRE([gl_FUNC_FLOORL])
m4/sinl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/sinl.m4:      AC_REQUIRE([gl_FUNC_SIN])
m4/sqrtf.m4:  AC_REQUIRE([gl_FUNC_SQRT])
m4/sqrtl.m4:      AC_REQUIRE([gl_FUNC_FREXPL])
m4/sqrtl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/sqrtl.m4:      AC_REQUIRE([gl_FUNC_LDEXPL])
m4/sqrtl.m4:      AC_REQUIRE([gl_FUNC_SQRT])
m4/sqrtl.m4:      AC_REQUIRE([gl_FUNC_SQRT])
m4/strcasestr.m4:  AC_REQUIRE([gl_FUNC_MEMCHR])
m4/strcasestr.m4:  AC_REQUIRE([gl_FUNC_STRCASESTR_SIMPLE])
m4/strerror.m4:  AC_REQUIRE([gl_FUNC_STRERROR_0])
m4/strerror.m4:    AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS])
m4/strerror_r.m4:  AC_REQUIRE([gl_FUNC_STRERROR_0])
m4/strerror_r.m4:  AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS])
m4/strstr.m4:  AC_REQUIRE([gl_FUNC_MEMCHR])
m4/strstr.m4:  AC_REQUIRE([gl_FUNC_STRSTR_SIMPLE])
m4/symlinkat.m4:  AC_REQUIRE([gl_FUNC_OPENAT])
m4/tanf.m4:  AC_REQUIRE([gl_FUNC_TAN])
m4/tanhf.m4:  AC_REQUIRE([gl_FUNC_TANH])
m4/tanl.m4:      AC_REQUIRE([gl_FUNC_FLOOR])
m4/tanl.m4:      AC_REQUIRE([gl_FUNC_FLOORL])
m4/tanl.m4:      AC_REQUIRE([gl_FUNC_ISNANL])
m4/tanl.m4:      AC_REQUIRE([gl_FUNC_TAN])
m4/timegm.m4:  AC_REQUIRE([gl_FUNC_MKTIME])
m4/truncf-ieee.m4:  AC_REQUIRE([gl_FUNC_TRUNCF])
m4/trunc-ieee.m4:  AC_REQUIRE([gl_FUNC_TRUNC])
m4/truncl-ieee.m4:  AC_REQUIRE([gl_FUNC_TRUNCL])
m4/truncl.m4:      AC_REQUIRE([gl_FUNC_TRUNC])
m4/unlinkat.m4:  AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
m4/unlinkat.m4:  AC_REQUIRE([gl_FUNC_UNLINK])
m4/utimecmp.m4:  AC_REQUIRE([gl_FUNC_UTIMES])
m4/utimens.m4:  AC_REQUIRE([gl_FUNC_UTIMES])
m4/vprintf-posix.m4:  AC_REQUIRE([gl_FUNC_VFPRINTF_POSIX])
m4/wcswidth.m4:  AC_REQUIRE([gl_FUNC_WCWIDTH])

This is quite some work, just for a workaround.

Additionally, transforming an gl_FUNC_FOO to AC_REQUIRE([gl_FUNC_FOO])
somewhat defeats the conditional dependencies: gl_FUNC_FOO will be
executed, regardless whether module 'foo' is actually needed on the
given platform or not.

Regarding option (b), note that Automake 1.13 will already require
Autoconf >= 2.65. Here are the release dates of autoconf:

  2.63  2008-09-09
  2.64  2009-07-26
  2.65  2009-11-21
  2.66  2010-07-02

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?


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])
 if test $REPLACE_LOG = 1; then
   AC_LIBOBJ([log])
 fi




reply via email to

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