[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] Avoid unneeded rebuilds
From: |
Stefan Weil |
Subject: |
[Qemu-devel] [PATCH] Avoid unneeded rebuilds |
Date: |
Tue, 31 Jul 2007 21:43:17 +0200 |
User-agent: |
IceDove 1.5.0.12 (X11/20070607) |
Today, a change of the target list for a QEMU build (caused by
calling configure a second time) creates new files config-host.h
and */config.h. So make is forced to re-compile a lot of files
which depend on any of these two files - even when they did not
change anything but their time stamp.
A small patch for configure improves this behaviour. Both header
files are now saved before creating new ones. If nothing
changed, the backup is restored. This is standard for other makes,
for example Linux kernels.
It would be nice to see my patch applied to CVS HEAD.
Thanks,
Stefan
Index: configure
===================================================================
RCS file: /sources/qemu/qemu/configure,v
retrieving revision 1.150
diff -u -b -B -r1.150 configure
--- configure 26 Jul 2007 20:41:46 -0000 1.150
+++ configure 31 Jul 2007 19:10:46 -0000
@@ -699,6 +699,8 @@
#echo "Creating $config_mak and $config_h"
+test -f $config_h && mv $config_h ${config_h}~
+
echo "# Automatically generated by configure - do not modify" > $config_mak
echo "# Configured with: $0 $@" >> $config_mak
echo "/* Automatically generated by configure - do not modify */" > $config_h
@@ -867,6 +869,8 @@
echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
+test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~
$config_h
+
for target in $target_list; do
target_dir="$target"
config_mak=$target_dir/config.mak
@@ -915,6 +919,8 @@
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
+test -f $config_h && mv $config_h ${config_h}~
+
mkdir -p $target_dir
mkdir -p $target_dir/fpu
if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
@@ -1074,6 +1080,8 @@
echo "CONFIG_COCOA=yes" >> $config_mak
fi
+test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~
$config_h
+
done # for target in $targets
# build tree in object directory if source path is different from current one
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH] Avoid unneeded rebuilds,
Stefan Weil <=