]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
configure: Add config.status to recreate the current configuration
authorStefan Weil <sw@weilnetz.de>
Sun, 20 Oct 2013 16:39:21 +0000 (18:39 +0200)
committerStefan Weil <sw@weilnetz.de>
Thu, 7 Nov 2013 06:02:44 +0000 (07:02 +0100)
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>
Reviewed-by: Fam Zheng <famz@redhat.com>
Makefile
configure

index b15003f9d21c47117431e8cc40d5c7c5e8f83a97..073f18b3f29d4e033ef70b1474926679b8ffd51e 100644 (file)
--- 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))
index 9addff190a2f0fa8c25540d9c7d9a305cab02216..a1cc5be69ead3fb9988608fa241cf2458d7c4190 100755 (executable)
--- 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"
@@ -3757,8 +3770,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