Subject: Re: bug#72267: automake 1.17 issue with new AM_SILENT_RULES

From: Karl Berry <[email-masked]>
Date: Fri, 21 Feb 2025 10:58:10 -0700

configure generated by autoreconf includes
    this line:
    AM_DEFAULT_VERBOSITY=0ac_config_headers="$ac_config_headers config.h"

Thanks for the report and proposed fix, Francis. I added Nick's suggested
m4_newline() to AM_SILENT_RULES in silent.m4.

I see in your kea configure.ac:

  m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])dnl be backward compatible
  AC_CONFIG_HEADERS([config.h])

So the newline in configure.ac was indeed being explicitly discarded by
your dnl. It makes sense for Automake to force the newline here, as was
the behavior before 1.17.

Closing this one. Thanks again,
Karl

-----------------------------------------------------------------------------
m4: force newline after AM_SILENT_RULES, as before 1.17.

>From https://bugs.gnu.org/72267.

* m4/silent.m4 (AM_SILENT_RULES): m4_newline() after the assignment.
Report from Francis Dupont, suggestions from Francis and Nick Bowler.
* NEWS: mention this.
* THANKS: add Francis.
diff --git a/NEWS b/NEWS
index 504901a88..34876f3db 100644
--- a/NEWS
+++ b/NEWS
@@ -32,9 +27,16 @@ New in 1.x:
   - The compile script is more robust to Windows configurations;
     specifically, avoiding double-path translation on MSYS. (bug#75939)

+  - AM_SILENT_RULES once again always ends with a newline. (bug#72267)
+
   - AM_SANITY_CHECK outputs a "no" for failure before fatal errors.
     (bug#76448)

diff --git a/THANKS b/THANKS
index 634c77c9b..0f44235aa 100644
--- a/THANKS
+++ b/THANKS
@@ -139,6 +139,7 @@ Felix Yan                       [email-masked]
 Flavien Astraud                 [email-masked]
 Florian Briegel                 [email-masked]
 Francesco Salvestrini           [email-masked]
+Francis Dupont                  [email-masked]
 François Pinard                 [email-masked]
 Fred Fish                       [email-masked]
 Frédéric Bérat                [email-masked]
diff --git a/m4/silent.m4 b/m4/silent.m4
index 56334d3b9..a2865fded 100644
--- a/m4/silent.m4
+++ b/m4/silent.m4
@@ -68,4 +68,8 @@ fi
 # empty being verbose).
 AC_DEFUN([AM_SILENT_RULES],
 [AC_REQUIRE([_AM_SILENT_RULES])
-AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])])
+AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])m4_newline
+dnl We intentionally force a newline after the assignment, since a) nothing
+dnl good can come of more text following, and b) that was the behavior
+dnl before 1.17. See https://bugs.gnu.org/72267.
+])

compile finished at Fri Feb 21 09:56:43 2025