* [PATCH] build: Don't fetch tools/ioemu-dir unless needed
@ 2011-05-06 14:33 George Dunlap
2011-05-06 14:41 ` Jan Beulich
0 siblings, 1 reply; 3+ messages in thread
From: George Dunlap @ 2011-05-06 14:33 UTC (permalink / raw)
To: xen-devel; +Cc: george.dunlap
c/s 18482 made both stubdom and tools dependent on tools/ioemu-dir
to fix a race condition where both build paths might try to fetch
qemu in parallel. But this means that even if you build the tools
with CONFIG_IOEMU=n, qemu is still fetched first.
This patch causes tools/ioemu-dir to be a dependency for tools
only if CONFIG_IOEMU is enabled.
It's still unconditional for stubdoms, as it doesn't make much sense
to build stubdoms without it.
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
diff -r 4b0692880dfa -r c3b9bca4b119 Config.mk
--- a/Config.mk Thu May 05 17:40:34 2011 +0100
+++ b/Config.mk Fri May 06 15:33:09 2011 +0100
@@ -179,6 +179,11 @@
# CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
CONFIG_QEMU ?= $(QEMU_REMOTE)
+# If building with CONFIG_IOEMU, get ioemu-dir before building
+# tools or stubdom (or they may race)
+SHARED_SUBDIRS-y :=
+SHARED_SUBDIRS-$(CONFIG_IOEMU) += tools/ioemu-dir
+
QEMU_TAG := xen-4.1.0-rc6
#QEMU_TAG ?= e073e69457b4d99b6da0b6536296e3498f7f6599
# Fri Feb 11 17:54:51 2011 +0000
diff -r 4b0692880dfa -r c3b9bca4b119 Makefile
--- a/Makefile Thu May 05 17:40:34 2011 +0100
+++ b/Makefile Fri May 06 15:33:09 2011 +0100
@@ -66,7 +66,7 @@
$(MAKE) -C xen install
.PHONY: install-tools
-install-tools: tools/ioemu-dir
+install-tools: $(SHARED_SUBDIRS-y)
$(MAKE) -C tools install
.PHONY: install-kernels
@@ -74,6 +74,7 @@
for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
.PHONY: install-stubdom
+# NB: depend on tools/ioemu-dir unconditionally for stubdoms
install-stubdom: tools/ioemu-dir install-tools
$(MAKE) -C stubdom install
ifeq (x86_64,$(XEN_TARGET_ARCH))
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] build: Don't fetch tools/ioemu-dir unless needed
2011-05-06 14:33 George Dunlap
@ 2011-05-06 14:41 ` Jan Beulich
0 siblings, 0 replies; 3+ messages in thread
From: Jan Beulich @ 2011-05-06 14:41 UTC (permalink / raw)
To: george.dunlap; +Cc: xen-devel
>>> On 06.05.11 at 16:33, George Dunlap <george.dunlap@eu.citrix.com> wrote:
> c/s 18482 made both stubdom and tools dependent on tools/ioemu-dir
> to fix a race condition where both build paths might try to fetch
> qemu in parallel. But this means that even if you build the tools
> with CONFIG_IOEMU=n, qemu is still fetched first.
>
> This patch causes tools/ioemu-dir to be a dependency for tools
> only if CONFIG_IOEMU is enabled.
>
> It's still unconditional for stubdoms, as it doesn't make much sense
> to build stubdoms without it.
The idea is certainly good, but ...
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
>
> diff -r 4b0692880dfa -r c3b9bca4b119 Config.mk
> --- a/Config.mk Thu May 05 17:40:34 2011 +0100
> +++ b/Config.mk Fri May 06 15:33:09 2011 +0100
> @@ -179,6 +179,11 @@
> # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
> CONFIG_QEMU ?= $(QEMU_REMOTE)
>
> +# If building with CONFIG_IOEMU, get ioemu-dir before building
> +# tools or stubdom (or they may race)
> +SHARED_SUBDIRS-y :=
> +SHARED_SUBDIRS-$(CONFIG_IOEMU) += tools/ioemu-dir
... the name chosen here isn't really suitable for the place you put
it: Either the name should be sufficiently distinct, or this should be
placed in ./Makefile (though even then I'd probably still like to see
it somehow specify what or by whom this is shared). Otherwise, if
something becomes shared e.g. between Xen and tools, it would
be logical to expect to simply put it here, but obviously this won't
work then.
Jan
> +
> QEMU_TAG := xen-4.1.0-rc6
> #QEMU_TAG ?= e073e69457b4d99b6da0b6536296e3498f7f6599
> # Fri Feb 11 17:54:51 2011 +0000
> diff -r 4b0692880dfa -r c3b9bca4b119 Makefile
> --- a/Makefile Thu May 05 17:40:34 2011 +0100
> +++ b/Makefile Fri May 06 15:33:09 2011 +0100
> @@ -66,7 +66,7 @@
> $(MAKE) -C xen install
>
> .PHONY: install-tools
> -install-tools: tools/ioemu-dir
> +install-tools: $(SHARED_SUBDIRS-y)
> $(MAKE) -C tools install
>
> .PHONY: install-kernels
> @@ -74,6 +74,7 @@
> for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
>
> .PHONY: install-stubdom
> +# NB: depend on tools/ioemu-dir unconditionally for stubdoms
> install-stubdom: tools/ioemu-dir install-tools
> $(MAKE) -C stubdom install
> ifeq (x86_64,$(XEN_TARGET_ARCH))
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] build: Don't fetch tools/ioemu-dir unless needed
@ 2011-05-16 10:58 George Dunlap
0 siblings, 0 replies; 3+ messages in thread
From: George Dunlap @ 2011-05-16 10:58 UTC (permalink / raw)
To: xen-devel; +Cc: george.dunlap
v3: more descriptive name for shared subdirs
c/s 18482 made both stubdom and tools dependent on tools/ioemu-dir
to fix a race condition where both build paths might try to fetch
qemu in parallel. But this means that even if you build the tools
with CONFIG_IOEMU=n, qemu is still fetched first.
This patch causes tools/ioemu-dir to be a dependency for tools
only if CONFIG_IOEMU is enabled.
It's still unconditional for stubdoms, as it doesn't make much sense
to build stubdoms without it.
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
diff -r f9bb0bbea7c2 -r 8bb82569e8a4 Makefile
--- a/Makefile Thu May 12 16:42:54 2011 +0100
+++ b/Makefile Mon May 16 11:58:39 2011 +0100
@@ -13,6 +13,11 @@ SUBARCH := $(subst x86_32,i386,$(XEN_TAR
export XEN_TARGET_ARCH SUBARCH XEN_SYSTYPE
include buildconfigs/Rules.mk
+# If building with CONFIG_IOEMU, get ioemu-dir before building
+# tools or stubdom (or they may race)
+IOEMU_SHARED_SUBDIRS-y :=
+IOEMU_SHARED_SUBDIRS-$(CONFIG_IOEMU) += tools/ioemu-dir
+
# build and install everything into the standard system directories
.PHONY: install
install: install-xen install-kernels install-tools install-stubdom install-docs
@@ -66,7 +71,7 @@ install-xen:
$(MAKE) -C xen install
.PHONY: install-tools
-install-tools: tools/ioemu-dir
+install-tools: $(IOEMU_SHARED_SUBDIRS-y)
$(MAKE) -C tools install
.PHONY: install-kernels
@@ -74,6 +79,7 @@ install-kernels:
for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
.PHONY: install-stubdom
+# NB: depend on tools/ioemu-dir unconditionally for stubdoms
install-stubdom: tools/ioemu-dir install-tools
$(MAKE) -C stubdom install
ifeq (x86_64,$(XEN_TARGET_ARCH))
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-05-16 10:58 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-16 10:58 [PATCH] build: Don't fetch tools/ioemu-dir unless needed George Dunlap
-- strict thread matches above, loose matches on Subject: below --
2011-05-06 14:33 George Dunlap
2011-05-06 14:41 ` Jan Beulich
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).