* [Qemu-devel] [PATCH] build: build block-obj-y explicitly before recursing
@ 2014-02-27 22:22 Paolo Bonzini
2014-02-27 22:50 ` Jeff Cody
0 siblings, 1 reply; 5+ messages in thread
From: Paolo Bonzini @ 2014-02-27 22:22 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell
block-obj-y is not anymore part of common-obj-y, because "nesting"
variables is complicated and requires specifying the correct
ordering in the calls to unnest-vars. However, because of this
we need to specify block-obj-y in the dependencies of the
target subdirectories.
Thanks to Stefan Weil and Jeff Cody for suggesting the cause of
the regression.
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index a443cd4..3938b6c 100644
--- a/Makefile
+++ b/Makefile
@@ -167,7 +167,7 @@ subdir-dtc:dtc/libfdt dtc/tests
dtc/%:
mkdir -p $@
-$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y)
+$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(block-obj-y)
ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
romsubdir-%:
--
1.8.5.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] build: build block-obj-y explicitly before recursing
2014-02-27 22:22 [Qemu-devel] [PATCH] build: build block-obj-y explicitly before recursing Paolo Bonzini
@ 2014-02-27 22:50 ` Jeff Cody
2014-02-28 5:27 ` Stefan Weil
0 siblings, 1 reply; 5+ messages in thread
From: Jeff Cody @ 2014-02-27 22:50 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: peter.maydell, qemu-devel
On Thu, Feb 27, 2014 at 11:22:08PM +0100, Paolo Bonzini wrote:
> block-obj-y is not anymore part of common-obj-y, because "nesting"
> variables is complicated and requires specifying the correct
> ordering in the calls to unnest-vars. However, because of this
> we need to specify block-obj-y in the dependencies of the
> target subdirectories.
>
> Thanks to Stefan Weil and Jeff Cody for suggesting the cause of
> the regression.
>
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index a443cd4..3938b6c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -167,7 +167,7 @@ subdir-dtc:dtc/libfdt dtc/tests
> dtc/%:
> mkdir -p $@
>
> -$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y)
> +$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(block-obj-y)
>
> ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
> romsubdir-%:
> --
> 1.8.5.3
>
>
Reviewed-by: Jeff Cody <jcody@redhat.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] build: build block-obj-y explicitly before recursing
2014-02-27 22:50 ` Jeff Cody
@ 2014-02-28 5:27 ` Stefan Weil
2014-02-28 5:49 ` Stefan Weil
2014-02-28 10:45 ` Paolo Bonzini
0 siblings, 2 replies; 5+ messages in thread
From: Stefan Weil @ 2014-02-28 5:27 UTC (permalink / raw)
To: Jeff Cody, Paolo Bonzini; +Cc: peter.maydell, qemu-devel
Am 27.02.2014 23:50, schrieb Jeff Cody:
> On Thu, Feb 27, 2014 at 11:22:08PM +0100, Paolo Bonzini wrote:
>> block-obj-y is not anymore part of common-obj-y, because "nesting"
>> variables is complicated and requires specifying the correct
>> ordering in the calls to unnest-vars. However, because of this
>> we need to specify block-obj-y in the dependencies of the
>> target subdirectories.
>>
>> Thanks to Stefan Weil and Jeff Cody for suggesting the cause of
>> the regression.
>>
>> Reported-by: Peter Maydell <peter.maydell@linaro.org>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>> Makefile | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/Makefile b/Makefile
>> index a443cd4..3938b6c 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -167,7 +167,7 @@ subdir-dtc:dtc/libfdt dtc/tests
>> dtc/%:
>> mkdir -p $@
>>
>> -$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y)
>> +$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(block-obj-y)
Using SUBDIR_RULES here instead of SOFTMMU_SUBDIR_RULES (as in my patch)
includes more dependencies: $(block-obj-y) will also be built for the
user emulation code (i386-linux-user, ...) which does not need it. As
far as I see, SOFTMMU_SUBDIR_RULES is sufficient.
Stefan
>>
>> ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
>> romsubdir-%:
>> --
>> 1.8.5.3
>>
>>
>
> Reviewed-by: Jeff Cody <jcody@redhat.com>
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] build: build block-obj-y explicitly before recursing
2014-02-28 5:27 ` Stefan Weil
@ 2014-02-28 5:49 ` Stefan Weil
2014-02-28 10:45 ` Paolo Bonzini
1 sibling, 0 replies; 5+ messages in thread
From: Stefan Weil @ 2014-02-28 5:49 UTC (permalink / raw)
To: Jeff Cody, Paolo Bonzini; +Cc: peter.maydell, qemu-devel
Am 28.02.2014 06:27, schrieb Stefan Weil:
> Am 27.02.2014 23:50, schrieb Jeff Cody:
>> On Thu, Feb 27, 2014 at 11:22:08PM +0100, Paolo Bonzini wrote:
>>> block-obj-y is not anymore part of common-obj-y, because "nesting"
>>> variables is complicated and requires specifying the correct
>>> ordering in the calls to unnest-vars. However, because of this
>>> we need to specify block-obj-y in the dependencies of the
>>> target subdirectories.
>>>
>>> Thanks to Stefan Weil and Jeff Cody for suggesting the cause of
>>> the regression.
>>>
>>> Reported-by: Peter Maydell <peter.maydell@linaro.org>
>>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>>> ---
>>> Makefile | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/Makefile b/Makefile
>>> index a443cd4..3938b6c 100644
>>> --- a/Makefile
>>> +++ b/Makefile
>>> @@ -167,7 +167,7 @@ subdir-dtc:dtc/libfdt dtc/tests
>>> dtc/%:
>>> mkdir -p $@
>>>
>>> -$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y)
>>> +$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(block-obj-y)
>
> Using SUBDIR_RULES here instead of SOFTMMU_SUBDIR_RULES (as in my patch)
> includes more dependencies: $(block-obj-y) will also be built for the
> user emulation code (i386-linux-user, ...) which does not need it. As
> far as I see, SOFTMMU_SUBDIR_RULES is sufficient.
>
> Stefan
The additional dependencies break builds when system emulation and tools
are disabled (configure' '--enable-debug'
'--enable-trace-backend=stderr' '--disable-tools' --disable-docs
--disable-system):
make: Entering directory `/home/stefan/src/qemu'
CC async.o
CC qemu-timer.o
In file included from /home/stefan/src/qemu/include/ui/console.h:4:0,
from /home/stefan/src/qemu/qemu-timer.c:27:
/home/stefan/src/qemu/include/ui/qemu-pixman.h:14:20: fatal error:
pixman.h: No such file or directory
compilation terminated.
make: *** [qemu-timer.o] Error 1
make: Leaving directory `/home/stefan/src/qemu'
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] build: build block-obj-y explicitly before recursing
2014-02-28 5:27 ` Stefan Weil
2014-02-28 5:49 ` Stefan Weil
@ 2014-02-28 10:45 ` Paolo Bonzini
1 sibling, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2014-02-28 10:45 UTC (permalink / raw)
To: Stefan Weil, Jeff Cody; +Cc: peter.maydell, qemu-devel
Il 28/02/2014 06:27, Stefan Weil ha scritto:
>>> >> -$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y)
>>> >> +$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(block-obj-y)
> Using SUBDIR_RULES here instead of SOFTMMU_SUBDIR_RULES (as in my patch)
> includes more dependencies: $(block-obj-y) will also be built for the
> user emulation code (i386-linux-user, ...) which does not need it. As
> far as I see, SOFTMMU_SUBDIR_RULES is sufficient.
True, it's just ugly to have all the dependencies in different parts of
the Makefile.
If you fix it, can you move this line close to the existing
$(SOFTMMU_SUBDIR_RULES): config-all-devices.mak
We have too many knobs. :(
Paolo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-02-28 10:45 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-27 22:22 [Qemu-devel] [PATCH] build: build block-obj-y explicitly before recursing Paolo Bonzini
2014-02-27 22:50 ` Jeff Cody
2014-02-28 5:27 ` Stefan Weil
2014-02-28 5:49 ` Stefan Weil
2014-02-28 10:45 ` 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).