+2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ New config.status option --config.
+ * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Implement
+ --config.
+ * doc/autoconf.texi (config.status Invocation): Document it.
+ * NEWS: Update.
+ * tests/torture.at (configure invocation): Test it.
+ Suggested several times, by several people, in the past.
+
2009-09-10 Eric Blake <ebb9@byu.net>
Document that AS_INIT is automatically used.
** The `$tmp' temporary directory used in config.status is documented for
public use now.
+** config.status now provides a --config option to produce the configuration.
+
* Major changes in Autoconf 2.64 (2009-07-26) [stable]
Released by Eric Blake, based on git versions 2.63b.*.
Print the version number of Autoconf and the configuration settings,
and exit.
+@item --config
+Print the configuration settings in reusable way, quoted for the shell,
+and exit. For example, for a debugging build that otherwise reuses the
+configuration from a different build directory @var{build-dir} of a
+package in @var{src-dir}, you could use the following:
+
+@example
+args=`@var{build-dir}/config.status --config`
+eval @var{src-dir}/configure "$args" CFLAGS=-g --srcdir=@var{src-dir}
+@end example
+
+@noindent
+Note that it may be necessary to override a @option{--srcdir} setting
+that was saved in the configuration, if the arguments are used in a
+different build directory.
+
@item --silent
@itemx --quiet
@itemx -q
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
-q, --quiet, --silent
[] do not print progress messages
-d, --debug don't remove temporary files
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`AS_ECHO(["$ac_configure_args"]) | sed 's/^ //; s/[[\\""\`\$]]/\\\\&/g'`"
ac_cs_version="\\
m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.status[]dnl
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING,
- with options \\"`AS_ECHO(["$ac_configure_args"]) | sed 's/^ //; s/[[\\""\`\$]]/\\\\&/g'`\\"
+ with options \\"\$ac_cs_config\\"
Copyright (C) m4_PACKAGE_YEAR Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
AS_ECHO(["$ac_cs_version"]); exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ AS_ECHO(["$ac_cs_config"]); exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
m4_ifdef([_AC_SEEN_CONFIG(FILES)], [dnl
# We run `./configure one=val1 --enable-two=val2 --with-three=val3'
# and verify that (i) `configure' correctly receives the arguments,
# (ii) correctly passes them to `config.status', which we check by
-# running `config.status --recheck', and (iii) correctly passes them
-# to sub-configure scripts.
+# running `config.status --recheck', (iii) correctly passes them
+# to sub-configure scripts, and (iv) correctly reproduces them with
+# `config.status --config'.
AT_SETUP([configure invocation])
AT_CHECK([./config.status --recheck | sed -n 's/^result=//p'], 0,
[onetwothree
])
+AT_CHECK([args=`./config.status --config` && eval ./configure "$args" |
+ sed -n -e 's/^result=//p'], 0,
+ [m4_do([onetwothree
+], [onetwothree
+])])
AT_CHECK_CONFIGURE([one="\"'$ " --enable-two="\" ' $" --with-three=" \"'$"|
sed -n -e 's/^result=//p'], 0,
["'$ " ' $ "'$
])
dnl restore font-lock: "
+AT_CHECK([args=`./config.status --config` && eval ./configure "$args" |
+ sed -n -e 's/^result=//p'], 0,
+ [m4_do(["'$ " ' $ "'$
+], ["'$ " ' $ "'$
+])])
AT_CLEANUP