qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] configure: Add config.status to recreate the cu


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH] configure: Add config.status to recreate the current configuration
Date: Tue, 29 Oct 2013 09:29:54 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

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 <address@hidden>
> ---
> 
> 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 <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]