automake-commit
[Top][All Lists]
Advanced

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

[automake-commit] branch master updated: automake: recommend autoreconf


From: Karl Berry
Subject: [automake-commit] branch master updated: automake: recommend autoreconf -f with version mismatches.
Date: Tue, 23 Jan 2024 11:53:28 -0500

This is an automated email from the git hooks/post-receive script.

karl pushed a commit to branch master
in repository automake.

View the commit online:
https://git.savannah.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=2fa17cccdba77b4097e01a4c14e4d0f00555685b

The following commit(s) were added to refs/heads/master by this push:
     new 2fa17cccd automake: recommend autoreconf -f with version mismatches.
2fa17cccd is described below

commit 2fa17cccdba77b4097e01a4c14e4d0f00555685b
Author: Karl Berry <karl@freefriends.org>
AuthorDate: Tue Jan 23 08:53:18 2024 -0800

    automake: recommend autoreconf -f with version mismatches.
    
    From https://bugs.gnu.org/68674.
    
    * bin/automake.in (scan_autoconf_traces): change error
    to suggest running autoreconf -f. The version mismatch is
    most likely to happen due to the cache files, which
    aclocal && automake (the previous recommendation) does not delete.
    (scan_autoconf_files): likewise.
    * doc/automake.texi (Auto-generating aclocal.m4): mention autoreconf.
    Other minor wording changes.
---
 bin/automake.in   | 16 +++++++++-------
 doc/automake.texi | 24 +++++++++++++++---------
 2 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/bin/automake.in b/bin/automake.in
index f568773eb..1dc40a00b 100644
--- a/bin/automake.in
+++ b/bin/automake.in
@@ -5442,8 +5442,9 @@ sub scan_autoconf_traces
          error ($where,
                 "version mismatch.  This is Automake $VERSION,\n" .
                 "but the definition used by this AM_INIT_AUTOMAKE\n" .
-                "comes from Automake $args[1].  You should recreate\n" .
-                "aclocal.m4 with aclocal and run automake again.\n",
+                "comes from Automake $args[1].  You should run\n" .
+                "autoreconf -f (or otherwise erase all old files, run\n" .
+                "aclocal to recreate aclocal.m4, and rerun automake).",
                 # $? = 63 is used to indicate version mismatch to missing.
                 exit_code => 63)
            if $VERSION ne $args[1];
@@ -5621,9 +5622,10 @@ sub scan_autoconf_files ()
          if (-f 'aclocal.m4')
            {
              error ($seen_init_automake,
-                    "your implementation of AM_INIT_AUTOMAKE comes from " .
-                    "an\nold Automake version.  You should recreate " .
-                    "aclocal.m4\nwith aclocal and run automake again",
+                     "your implementation of AM_INIT_AUTOMAKE comes from\n" .
+                     "an old Automake version.  You should run\n" .
+                     "autoreconf -f (or otherwise erase all old files, run\n" .
+                     "aclocal to recreate aclocal.m4, and rerun automake).",
                     # $? = 63 is used to indicate version mismatch to missing.
                     exit_code => 63);
            }
@@ -5632,8 +5634,8 @@ sub scan_autoconf_files ()
              error ($seen_init_automake,
                     "no proper implementation of AM_INIT_AUTOMAKE was " .
                     "found,\nprobably because aclocal.m4 is missing.\n" .
-                    "You should run aclocal to create this file, then\n" .
-                    "run automake again");
+                    "You should run autoreconf -f (or aclocal to create\n" .
+                    "this file, then rerun automake).");
            }
        }
     }
diff --git a/doc/automake.texi b/doc/automake.texi
index ecefe2dc6..d30905e0f 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -3276,7 +3276,7 @@ macros installed in a system-wide directory; 
@pxref{aclocal Invocation}).
 
 @node aclocal Invocation
 @section Auto-generating aclocal.m4
-@c This node used to be named "Invoking automake".  This @anchor
+@c This node used to be named "Invoking aclocal".  This @anchor
 @c allows old links to still work.
 @anchor{Invoking aclocal}
 
@@ -3335,9 +3335,15 @@ autoconf, The Autoconf Manual}) in order to trace the 
macros that are
 used, and omit from @file{aclocal.m4} all macros that are mentioned
 but otherwise unexpanded (this can happen when a macro is called
 conditionally).  @command{autom4te} is expected to be in the
-@env{PATH}, just as @command{autoconf}.  Its location can be
+@env{PATH}, just like @command{autoconf}.  Its location can be
 overridden using the @env{AUTOM4TE} environment variable.
 
+Although this section explains the details of @command{aclocal}, in
+practice it is usually simpler to run @command{autoreconf}, instead of
+worrying about the required order of the various tools
+(@pxref{autoreconf Invocation, , Using @command{autoreconf},
+autoconf, The Autoconf Manual}).
+
 @menu
 * aclocal Options::             Options supported by aclocal
 * Macro Search Path::           How aclocal finds .m4 files
@@ -5686,13 +5692,13 @@ this issue because older Automake versions used to call
 @command{libtoolize}.
 
 Since Automake 1.6, it has been decided that running
-@command{libtoolize} was none of Automake's business.  Instead, that
+@command{libtoolize} was not Automake's business.  Instead, that
 functionality has been moved into the @command{autoreconf} command
 (@pxref{autoreconf Invocation, , Using @command{autoreconf}, autoconf,
 The Autoconf Manual}).  If you do not want to remember what to run and
-when, just learn the @command{autoreconf} command.  Hopefully,
-replacing existing @file{bootstrap} or @file{autogen.sh} scripts by
-a call to @command{autoreconf} should also free you from any similar
+when, just remember the @command{autoreconf} command.  Hopefully,
+replacing existing @file{bootstrap} or @file{autogen.sh} scripts by a
+call to @command{autoreconf} should also free you from any similar
 incompatible change in the future.
 
 @node Objects created both with libtool and without
@@ -8092,8 +8098,8 @@ Here are the current support plans.
 Currently Automake provides support for Texinfo and man pages.
 
 @menu
-* Texinfo::                     Texinfo
-* Man Pages::                   Man pages
+* Texinfo::
+* Man Pages::
 @end menu
 
 
@@ -8214,7 +8220,7 @@ included when @command{automake} is invoked with the
 If you have multiple Texinfo files, and you want to use the
 @file{version.texi} feature, then you have to have a separate version
 file for each Texinfo file.  Automake will treat any include in a
-Texinfo file that matches @file{vers*.texi} just as an automatically
+Texinfo file that matches @file{vers*.texi} just like an automatically
 generated version file.
 
 Often an Info file depends on more than one @file{.texi} file.  For



reply via email to

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