From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39462) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VarkW-0007h0-66 for qemu-devel@nongnu.org; Mon, 28 Oct 2013 14:41:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VarkQ-0004fq-4H for qemu-devel@nongnu.org; Mon, 28 Oct 2013 14:41:12 -0400 Received: from [2a03:4000:1::4e2f:c7ac:d] (port=43770 helo=v220110690675601.yourvserver.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VarkP-0004ff-Q3 for qemu-devel@nongnu.org; Mon, 28 Oct 2013 14:41:06 -0400 Message-ID: <526EAFBC.5070600@weilnetz.de> Date: Mon, 28 Oct 2013 19:41:00 +0100 From: Stefan Weil MIME-Version: 1.0 References: <1382287161-4753-1-git-send-email-sw@weilnetz.de> In-Reply-To: <1382287161-4753-1-git-send-email-sw@weilnetz.de> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] configure: Add config.status to recreate the current configuration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel Cc: peter.maydell@linaro.org, gabriel@kerneis.info Am 20.10.2013 18:39, schrieb Stefan Weil: > The latest configure invocation was saved in config-host.mak and could > be extracted from that file to recreate the configuration. > > Now it is saved in a new file config.status which can be directly executed > to recreate the configuration. The file name and the comments were copied > from GNU autoconf. > > Makefile now uses config.status, but also includes transitional code > for the old mechanism. > > Signed-off-by: Stefan Weil > --- > > This patch still does not escape special characters in the command line. > I expect that most users don't use such characters, so they have no problem. > > It's easy to fix that for hosts with bash: simply replace %s by %q. > If required, this can be done in a later patch. > > Regards, > Stefan Weil > > Makefile | 9 ++++++++- > configure | 15 +++++++++++++-- > 2 files changed, 21 insertions(+), 3 deletions(-) > > diff --git a/Makefile b/Makefile > index b15003f..073f18b 100644 > --- a/Makefile > +++ b/Makefile > @@ -28,7 +28,14 @@ CONFIG_ALL=y > include $(SRC_PATH)/rules.mak > config-host.mak: $(SRC_PATH)/configure > @echo $@ is out-of-date, running configure > - @sed -n "/.*Configured with/s/[^:]*: //p" $@ | sh > + @# TODO: The next lines include code which supports a smooth > + @# transition from old configurations without config.status. > + @# This code can be removed after QEMU 1.7. > + @if test -x config.status; then \ > + ./config.status; \ > + else \ > + sed -n "/.*Configured with/s/[^:]*: //p" $@ | sh; \ > + fi > else > config-host.mak: > ifneq ($(filter-out %clean,$(MAKECMDGOALS)),$(if $(MAKECMDGOALS),,fail)) > diff --git a/configure b/configure > index 57ee62a..125d0c5 100755 > --- a/configure > +++ b/configure > @@ -27,6 +27,19 @@ printf " '%s'" "$0" "$@" >> config.log > echo >> config.log > echo "#" >> config.log > > +# Save the configure command line for later reuse. > +cat <config.status > +#!/bin/sh > +# Generated by configure. > +# Run this file to recreate the current configuration. > +# Compiler output produced by configure, useful for debugging > +# configure, is in config.log if it exists. > +EOD > +printf "exec" >>config.status > +printf " '%s'" "$0" "$@" >>config.status > +echo >>config.status > +chmod +x config.status > + > error_exit() { > echo > echo "ERROR: $1" > @@ -3765,8 +3778,6 @@ config_host_mak="config-host.mak" > echo "# Automatically generated by configure - do not modify" >config-all-disas.mak > > echo "# Automatically generated by configure - do not modify" > $config_host_mak > -printf "# Configured with:" >> $config_host_mak > -printf " '%s'" "$0" "$@" >> $config_host_mak > echo >> $config_host_mak > > echo all: >> $config_host_mak ping?