From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH] build: Don't fetch tools/ioemu-dir unless needed Date: Mon, 16 May 2011 11:58:54 +0100 Message-ID: <8bb82569e8a4ea8b20fb.1305543534@elijah> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: george.dunlap@eu.citrix.com List-Id: xen-devel@lists.xenproject.org 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 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))