2006-04-06 Stepan Kasal
* lib/autoconf/status.m4 (_AC_CONFIG_FOOS): Append TAGS to
ac_config_s again, sometimes normalized, sometimes not.
(AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_LINKS, AC_CONFIG_COMMANDS):
Do not do so here.
(_AC_CONFIG_REGISTER_DEST): Double quote the tags in macros _AC_LIST_TAGS
and_AC_LIST_TAG_COMMANDS; fixes another regression introduced by the
2005-07-25 rewrite. Noticed by Noah Misch.
2006-04-05 Noah Misch
* lib/autoconf/status.m4 (_AC_CONFIG_FOOS): Do not append normalized
TAGS to ac_config_s.
(AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_LINKS): Do so here.
(AC_CONFIG_COMMANDS): Append NAME to ac_config_commands without
normalizing it, consistent it with previous releases.
* tests/torture.at (Macro calls in AC_CONFIG_COMMANDS tags): New test.
Index: lib/autoconf/status.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/status.m4,v
retrieving revision 1.89
diff -u -r1.89 status.m4
--- lib/autoconf/status.m4 4 Apr 2006 16:13:47 -0000 1.89
+++ lib/autoconf/status.m4 6 Apr 2006 14:57:02 -0000
@@ -227,13 +227,17 @@
# Associate the COMMANDS to each TAG, i.e., when config.status creates TAG,
# run COMMANDS afterwards. (This is done in _AC_CONFIG_REGISTER_DEST.)
#
+# For COMMANDS, do not m4_normalize TAGS before adding it to ac_config_commands.
+# This historical difference allows macro calls in TAGS.
+#
m4_define([_AC_CONFIG_FOOS],
[m4_foreach_w([AC_File], [$2],
[_AC_CONFIG_REGISTER([$1], m4_defn([AC_File]), [$3])])dnl
m4_define([_AC_SEEN_CONFIG(ANY)])dnl
m4_define([_AC_SEEN_CONFIG($1)])dnl
_AC_CONFIG_COMMANDS_INIT([$4])dnl
-ac_config_[]m4_tolower([$1])="$ac_config_[]m4_tolower([$1]) m4_normalize([$2])"
+ac_config_[]m4_tolower([$1])="$ac_config_[]m4_tolower([$1]) dnl
+m4_if([$1], [COMMANDS], [$2], [m4_normalize([$2])])"
])
@@ -270,14 +274,14 @@
dnl Recognize TAG as an argument to config.status:
dnl
m4_append([_AC_LIST_TAGS],
-[ $3) CONFIG_$1="$CONFIG_$1 $2" ;;
+[ "$3") CONFIG_$1="$CONFIG_$1 $2" ;;
])dnl
dnl
dnl Register the associated commands, if any:
dnl
m4_ifval([$4],
[m4_append([_AC_LIST_TAG_COMMANDS],
-[ $3:]m4_bpatsubst([$1], [^\(.\).*$], [\1])[) $4 ;;
+[ "$3":]m4_bpatsubst([$1], [^\(.\).*$], [\1])[) $4 ;;
])])dnl
])# _AC_CONFIG_REGISTER_DEST
Index: tests/torture.at
===================================================================
RCS file: /cvsroot/autoconf/autoconf/tests/torture.at,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -r1.55 -r1.56
--- tests/torture.at 6 Mar 2006 22:34:34 -0000 1.55
+++ tests/torture.at 5 Apr 2006 14:20:38 -0000 1.56
@@ -204,6 +204,25 @@
+## ---------------------------------------- ##
+## Macro calls in AC_CONFIG_COMMANDS tags. ##
+## ---------------------------------------- ##
+
+AT_SETUP([Macro calls in AC_CONFIG_COMMANDS tags])
+
+AT_DATA_M4SUGAR([configure.ac],
+[[AC_INIT
+AC_CONFIG_COMMANDS([m4_if(1,1,mytag)])
+AC_OUTPUT
+]])
+
+AT_CHECK_AUTOCONF
+AT_CHECK_CONFIGURE
+
+AT_CLEANUP
+
+
+
## ------------------- ##
## Missing templates. ##
## ------------------- ##