* [Qemu-devel] [PATCH] Makefile: Add missing rule for config-devices.mak
@ 2009-11-22 14:07 Stefan Weil
2009-11-22 14:20 ` Scott Tsai
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Stefan Weil @ 2009-11-22 14:07 UTC (permalink / raw)
To: QEMU Developers
All files config-devices.mak are copies from files in
directory default-configs.
Creating these copies during configuration ignores these
dependencies and may result in unresolved externals
from incremental builds when files in default-configs
are modified.
By adding a dependency rule to Makefile and executing
the copy commands there it is possible to run incremental
builds even with modified default-configs.
This is especially useful for git bisect.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
Makefile | 3 +++
configure | 4 ----
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index d770e2a..fdb47fb 100644
--- a/Makefile
+++ b/Makefile
@@ -41,6 +41,9 @@ SUBDIR_DEVICES_MAK=$(patsubst %, %/config-devices.mak, $(TARGET_DIRS))
config-all-devices.mak: $(SUBDIR_DEVICES_MAK)
$(call quiet-command,cat $(SUBDIR_DEVICES_MAK) | grep "=y$$" | sort -u > $@," GEN $@")
+%/config-devices.mak: default-configs/%.mak
+ $(call quiet-command,cp -p $< $@, " GEN $@")
+
-include config-all-devices.mak
build-all: $(DOCS) $(TOOLS) recurse-all
diff --git a/configure b/configure
index b65c11c..1223fc8 100755
--- a/configure
+++ b/configure
@@ -2209,10 +2209,6 @@ if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$targ
mkdir -p $target_dir/nwfpe
fi
-if test ! -f $target_dir/config-devices.mak ; then
- cp $source_path/default-configs/${target}.mak $target_dir/config-devices.mak
-fi
-
#
# don't use ln -sf as not all "ln -sf" over write the file/link
#
--
1.5.6.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] Makefile: Add missing rule for config-devices.mak
2009-11-22 14:07 [Qemu-devel] [PATCH] Makefile: Add missing rule for config-devices.mak Stefan Weil
@ 2009-11-22 14:20 ` Scott Tsai
2009-11-23 18:55 ` Paul Brook
[not found] ` <m33a45ia0a.fsf@neno.neno>
2 siblings, 0 replies; 5+ messages in thread
From: Scott Tsai @ 2009-11-22 14:20 UTC (permalink / raw)
To: Stefan Weil; +Cc: QEMU Developers
On Sun, Nov 22, 2009 at 10:07 PM, Stefan Weil <weil@mail.berlios.de> wrote:
> All files config-devices.mak are copies from files in
> directory default-configs.
>
> Creating these copies during configuration ignores these
> dependencies and may result in unresolved externals
> from incremental builds when files in default-configs
> are modified.
>
> By adding a dependency rule to Makefile and executing
> the copy commands there it is possible to run incremental
> builds even with modified default-configs.
>
> This is especially useful for git bisect.
>
> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
> ---
> Makefile | 3 +++
> configure | 4 ----
> 2 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index d770e2a..fdb47fb 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -41,6 +41,9 @@ SUBDIR_DEVICES_MAK=$(patsubst %, %/config-devices.mak, $(TARGET_DIRS))
> config-all-devices.mak: $(SUBDIR_DEVICES_MAK)
> $(call quiet-command,cat $(SUBDIR_DEVICES_MAK) | grep "=y$$" | sort -u > $@," GEN $@")
>
> +%/config-devices.mak: default-configs/%.mak
> + $(call quiet-command,cp -p $< $@, " GEN $@")
> +
> -include config-all-devices.mak
>
> build-all: $(DOCS) $(TOOLS) recurse-all
> diff --git a/configure b/configure
> index b65c11c..1223fc8 100755
> --- a/configure
> +++ b/configure
> @@ -2209,10 +2209,6 @@ if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$targ
> mkdir -p $target_dir/nwfpe
> fi
>
> -if test ! -f $target_dir/config-devices.mak ; then
> - cp $source_path/default-configs/${target}.mak $target_dir/config-devices.mak
> -fi
> -
> #
> # don't use ln -sf as not all "ln -sf" over write the file/link
> #
> --
> 1.5.6.5
Acked-by Scott Tsai <scottt.tw@gmail.com>
I also hit this with the recent change to move two NICs into libhw and
build them for ARM targets.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] Makefile: Add missing rule for config-devices.mak
2009-11-22 14:07 [Qemu-devel] [PATCH] Makefile: Add missing rule for config-devices.mak Stefan Weil
2009-11-22 14:20 ` Scott Tsai
@ 2009-11-23 18:55 ` Paul Brook
[not found] ` <m33a45ia0a.fsf@neno.neno>
2 siblings, 0 replies; 5+ messages in thread
From: Paul Brook @ 2009-11-23 18:55 UTC (permalink / raw)
To: qemu-devel
On Sunday 22 November 2009, Stefan Weil wrote:
> All files config-devices.mak are copies from files in
> directory default-configs.
See commit a992fe3, specifically "make defconfig".
Paul
^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <m33a45ia0a.fsf@neno.neno>]
* [Qemu-devel] Re: [PATCH] Makefile: Add missing rule for config-devices.mak
[not found] ` <m33a45ia0a.fsf@neno.neno>
@ 2009-11-26 10:25 ` Stefan Weil
2009-11-26 13:13 ` Paolo Bonzini
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Weil @ 2009-11-26 10:25 UTC (permalink / raw)
To: Juan Quintela; +Cc: Paul Brook, QEMU Developers
Juan Quintela schrieb:
> Stefan Weil <weil@mail.berlios.de> wrote:
>> All files config-devices.mak are copies from files in
>> directory default-configs.
>>
>> Creating these copies during configuration ignores these
>> dependencies and may result in unresolved externals
>> from incremental builds when files in default-configs
>> are modified.
>>
>> By adding a dependency rule to Makefile and executing
>> the copy commands there it is possible to run incremental
>> builds even with modified default-configs.
>
> But then, if you have modified the file, you lost your changes.
> That file is not overwrote on purpose. Think of it as the .config when
> you compile your kernel. If you don't have one, it gets a default one.
> But if you have one, it will not overwrote it. Not all devices have
> been moved to the config file, but the idea is to move them there.
>
> Anthony, please don't apply.
>
> About the problem with bisect, if you start with the lastest version
> config file, it should just work (famous last words).
>
> Later, Juan.
What about overwriting it automatically when it was not modified
by the user? This would only need a backup copy of the original
default configuration. I assume that most users don't change
config-devices.mak, so they would be happy with this solution.
Calling "make defconfig" is only the second best solution for them.
A more sophisticated solution could try to create a patch from
original default configuration and user modified configuration.
Make could try to apply this patch to the new default configuration,
and if there is no conflict, all is fine as well.
Regards, Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Qemu-devel] Re: [PATCH] Makefile: Add missing rule for config-devices.mak
2009-11-26 10:25 ` [Qemu-devel] " Stefan Weil
@ 2009-11-26 13:13 ` Paolo Bonzini
0 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2009-11-26 13:13 UTC (permalink / raw)
To: qemu-devel
> What about overwriting it automatically when it was not modified
> by the user? This would only need a backup copy of the original
> default configuration. I assume that most users don't change
> config-devices.mak, so they would be happy with this solution.
> Calling "make defconfig" is only the second best solution for them.
>
> A more sophisticated solution could try to create a patch from
> original default configuration and user modified configuration.
> Make could try to apply this patch to the new default configuration,
> and if there is no conflict, all is fine as well.
What about writing an include directive for the default config instead?
Then the user can add his overrides to the bottom of the include.
Paolo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-11-26 13:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-22 14:07 [Qemu-devel] [PATCH] Makefile: Add missing rule for config-devices.mak Stefan Weil
2009-11-22 14:20 ` Scott Tsai
2009-11-23 18:55 ` Paul Brook
[not found] ` <m33a45ia0a.fsf@neno.neno>
2009-11-26 10:25 ` [Qemu-devel] " Stefan Weil
2009-11-26 13:13 ` Paolo Bonzini
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).