qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: Stefan Weil <sw@weilnetz.de>
Cc: peter.maydell@linaro.org, gabriel@kerneis.info,
	qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] configure: Add config.status to recreate the current configuration
Date: Tue, 29 Oct 2013 09:29:54 +0800	[thread overview]
Message-ID: <20131029012954.GA9273@T430s.nay.redhat.com> (raw)
In-Reply-To: <1382287161-4753-1-git-send-email-sw@weilnetz.de>

On Sun, 10/20 18:39, Stefan Weil wrote:
> 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 <sw@weilnetz.de>
> ---
> 
> 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 <<EOD >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

Reviewed-by: Fam Zheng <famz@redhat.com>

      parent reply	other threads:[~2013-10-29  1:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-20 16:39 [Qemu-devel] [PATCH] configure: Add config.status to recreate the current configuration Stefan Weil
2013-10-28 18:41 ` Stefan Weil
2013-10-29  1:29 ` Fam Zheng [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131029012954.GA9273@T430s.nay.redhat.com \
    --to=famz@redhat.com \
    --cc=gabriel@kerneis.info \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sw@weilnetz.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).