Autoconf 2.13 is definitely obsolete today, so giving hints or caveats about it in the Automake documentation is not only obsolescent, but also counter-productive, as it suggests that autoconf 2.13 is still relevant.
* doc/automake.texi: Adjust. Related rewordings. Since we are at it, prefer using a more modern autoconf version number (2.68 instead of 2.57) in an example showing how to correctly use 'AC_PREREQ' in third-party .m4 files. Signed-off-by: Stefano Lattarini <stefano.lattar...@gmail.com> --- doc/automake.texi | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/doc/automake.texi b/doc/automake.texi index b309684..c21a5b7 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -430,11 +430,7 @@ should generally be one @file{Makefile.am} per directory of a project. Automake does constrain a project in certain ways; for instance, it assumes that the project uses Autoconf (@pxref{Top, , Introduction, autoconf, The Autoconf Manual}), and enforces certain restrictions on -the @file{configure.ac} contents@footnote{Older Autoconf versions used -@file{configure.in}. Autoconf 2.50 and greater promotes -@file{configure.ac} over @file{configure.in}. The rest of this -documentation will refer to @file{configure.ac}, but Automake also -supports @file{configure.in} for backward compatibility.}. +the @file{configure.ac} contents. @cindex Automake requirements @cindex Requirements, Automake @@ -3032,8 +3028,7 @@ This is required if any Objective C source is included. @xref{Particular Programs, , Particular Program Checks, autoconf, The Autoconf Manual}. @item AC_PROG_F77 -This is required if any Fortran 77 source is included. This macro is -distributed with Autoconf version 2.13 and later. @xref{Particular +This is required if any Fortran 77 source is included. @xref{Particular Programs, , Particular Program Checks, autoconf, The Autoconf Manual}. @item AC_F77_LIBRARY_LDFLAGS @@ -3569,7 +3564,7 @@ For instance, @example # bad style -AC_PREREQ(2.57) +AC_PREREQ(2.68) AC_DEFUN(AX_FOOBAR, [AC_REQUIRE([AX_SOMETHING])dnl AX_FOO @@ -3582,7 +3577,7 @@ should be rewritten as @example AC_DEFUN([AX_FOOBAR], -[AC_PREREQ([2.57])dnl +[AC_PREREQ([2.68])dnl AC_REQUIRE([AX_SOMETHING])dnl AX_FOO AX_BAR @@ -3590,11 +3585,11 @@ AX_BAR @end example Wrapping the @code{AC_PREREQ} call inside the macro ensures that -Autoconf 2.57 will not be required if @code{AX_FOOBAR} is not actually +Autoconf 2.68 will not be required if @code{AX_FOOBAR} is not actually used. Most importantly, quoting the first argument of @code{AC_DEFUN} allows the macro to be redefined or included twice (otherwise this first argument would be expanded during the second definition). For -consistency we like to quote even arguments such as @code{2.57} that +consistency we like to quote even arguments such as @code{2.68} that do not require it. If you have been directed here by the @command{aclocal} diagnostic but @@ -6594,10 +6589,9 @@ in the appropriate Fortran 77 intrinsic and run-time libraries. @cindex @code{FLIBS}, defined @vindex FLIBS These extra Fortran 77 linker flags are supplied in the output variable -@code{FLIBS} by the @code{AC_F77_LIBRARY_LDFLAGS} Autoconf macro -supplied with newer versions of Autoconf (Autoconf version 2.13 and -later). @xref{Fortran Compiler, , Fortran Compiler Characteristics, -autoconf, The Autoconf Manual}. +@code{FLIBS} by the @code{AC_F77_LIBRARY_LDFLAGS} Autoconf macro. +@xref{Fortran Compiler, , Fortran Compiler Characteristics, autoconf, +The Autoconf Manual}. @end enumerate If Automake detects that a program or shared library (as mentioned in @@ -6959,20 +6953,14 @@ substitutions. This means that if you are conditionally building a program using such a substitution, then your @file{configure.ac} must take care to add @samp{$(EXEEXT)} when constructing the output variable. -With Autoconf 2.13 and earlier, you must explicitly use @code{AC_EXEEXT} -to get this support. With Autoconf 2.50, @code{AC_EXEEXT} is run -automatically if you configure a compiler (say, through -@code{AC_PROG_CC}). - Sometimes maintainers like to write an explicit link rule for their program. Without executable extension support, this is easy---you simply write a rule whose target is the name of the program. However, when executable extension support is enabled, you must instead add the @samp{$(EXEEXT)} suffix. -Unfortunately, due to the change in Autoconf 2.50, this means you must -always add this extension. However, this is a problem for maintainers -who know their package will never run on a platform that has +This might be a nuisance for maintainers who know their package will +never run on a platform that has executable extensions. For those maintainers, the @option{no-exeext} option (@pxref{Options}) will disable this feature. This works in a fairly ugly way; if @option{no-exeext} is seen, then the presence of a -- 1.7.9.5