Hi, Regarding the deprecation of AC_FUNC_* macros that are better provided by gnulib:
Paolo Bonzini wrote in <http://lists.gnu.org/archive/html/bug-autoconf/2010-06/msg00041.html>: > > The affected macros are: > > - AC_FUNC_ERROR_AT_LINE > > If you're interested in this, you're likely using gnulib anyway nowadays. > > > - AC_FUNC_STRTOD > > - AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK > > - AC_FUNC_MKTIME > > - AC_FUNC_STAT, AC_FUNC_LSTAT > > - AC_FUNC_GETLOADAVG > > - AC_REPLACE_FNMATCH > > I don't think anyone knows even how to use these, i.e. where to get the > replacement (I think it was meant to be taken from libit...). At this > point using gnulib is better. > > > - AC_FUNC_MEMCMP > > This one should have been made obsolescent already, shouldn't it? > (Given the gnulib module is). > > > - AC_FUNC_STRNLEN > > This maybe falls in the same group as AC_FUNC_MALLOC/AC_FUNC_REALLOC. > > > - AC_FUNC_OBSTACK > > This one I would leave in too, obstacks are pretty self contained and I > think it is the most likely used in the wild. OK, so the list of macros that should be marked obsolete is: - AC_FUNC_ERROR_AT_LINE - AC_FUNC_GETLOADAVG (already marked obsolescent) - AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK - AC_FUNC_MEMCMP (already marked obsolescent) - AC_FUNC_MKTIME - AC_FUNC_STAT, AC_FUNC_LSTAT (already marked obsolescent) - AC_FUNC_STRTOD - AC_REPLACE_FNMATCH (already marked obsolescent) Removing those that are already marked obsolescent, the following remain: - AC_FUNC_ERROR_AT_LINE - AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK - AC_FUNC_MKTIME - AC_FUNC_STRTOD Here is a proposed patch. 2010-08-28 Bruno Haible <br...@clisp.org> * doc/autoconf.texi (Particular Functions): Mark AC_FUNC_ERROR_AT_LINE, AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, AC_FUNC_MKTIME, AC_FUNC_STRTOD as obsolete and refer to Gnulib. * NEWS: Mention the change. --- NEWS.orig Sat Aug 28 11:46:36 2010 +++ NEWS Sat Aug 28 11:42:54 2010 @@ -25,6 +25,14 @@ ** Autotest testsuites should not contain long text lines any more, and be portable even when very many test groups are used. +** Newly obsolete macros + The following macros have been marked obsolete. New programs should use + the corresponding Gnulib modules. Gnulib not only detects the particular + portability problems but also provides complete workarounds. + + AC_FUNC_ERROR_AT_LINE AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK + AC_FUNC_MKTIME AC_FUNC_STRTOD + * Major changes in Autoconf 2.67 (2010-07-21) [stable] Released by Eric Blake, based on git versions 2.66.*. --- doc/autoconf.texi.orig Sat Aug 28 11:46:36 2010 +++ doc/autoconf.texi Sat Aug 28 11:34:51 2010 @@ -4876,6 +4876,9 @@ The result of this macro is cached in the @code{ac_cv_lib_error_at_line} variable. + +The @code{AC_FUNC_ERROR_AT_LINE} macro is obsolescent. New programs +should use Gnulib's @code{error} module. @xref{Gnulib}. @end defmac @defmac AC_FUNC_FNMATCH @@ -5117,6 +5120,9 @@ The result of this macro is cached in the @code{ac_cv_func_lstat_dereferences_slashed_symlink} variable. + +The @code{AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK} macro is obsolescent. +New programs should use Gnulib's @code{lstat} module. @xref{Gnulib}. @end defmac @defmac AC_FUNC_MALLOC @@ -5206,6 +5212,9 @@ The result of this macro is cached in the @code{ac_cv_func_working_mktime} variable. + +The @code{AC_FUNC_MKTIME} macro is obsolescent. New programs should +use Gnulib's @code{mktime} module. @xref{Gnulib}. @end defmac @anchor{AC_FUNC_MMAP} @@ -5385,6 +5394,9 @@ This macro caches its result in the @code{ac_cv_func_strtod} variable and depends upon the result in the @code{ac_cv_func_pow} variable. + +The @code{AC_FUNC_STRTOD} macro is obsolescent. New programs should +use Gnulib's @code{strtod} module. @xref{Gnulib}. @end defmac @defmac AC_FUNC_STRTOLD