All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Vasily Efimov <real@ispras.ru>, qemu-devel@nongnu.org
Cc: Kirill Batuzov <batuzovk@ispras.ru>
Subject: Re: [Qemu-devel] [PATCH] Makefile: fix up parallel building under MSYS+MinGW
Date: Fri, 27 Feb 2015 15:22:37 +0100	[thread overview]
Message-ID: <54F07DAD.1030205@redhat.com> (raw)
In-Reply-To: <1424264377-5992-1-git-send-email-real@ispras.ru>



On 18/02/2015 13:59, Vasily Efimov wrote:
> This patch enables parallel building of QEMU in MSYS+MinGW environment.
> Currently an attempt to build QEMU in parallel fails on generation of
> version.lo (and version.o too).
> 
> The cause of the failure is that when listing prerequisites "Makefile"
> references "config-host.h" by absolute path in some rules and by relative
> path in others. Make cannot figure out that these references points to the
> same file which leads to the race: the generation of "version.*" which
> requires "$(BUILD_DIR)/config-host.h" is launched in parallel with the
> generation of "config-host.h" needed by other "Makefile" targets.
> 
> This patch removes "$(BUILD_DIR)/" prefix from corresponding prerequisite
> of "version.*". There is no other prerequisites "$(BUILD_DIR)/config-host.h"
> found.
> 
> Also note that not every version of MSYS is able to build QEMU in parallel,
> see: "http://sourceforge.net/p/mingw/bugs/1950/". The suggested version is
> 1.0.17.
> 
> Signed-off-by: Vasily Efimov <real@ispras.ru>
> ---
>  Makefile | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 6817c6f..b0d8c07 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -197,9 +197,9 @@ ALL_SUBDIRS=$(TARGET_DIRS) $(patsubst %,pc-bios/%, $(ROMS))
>  
>  recurse-all: $(SUBDIR_RULES) $(ROMSUBDIR_RULES)
>  
> -$(BUILD_DIR)/version.o: $(SRC_PATH)/version.rc $(BUILD_DIR)/config-host.h | $(BUILD_DIR)/version.lo
> +$(BUILD_DIR)/version.o: $(SRC_PATH)/version.rc config-host.h | $(BUILD_DIR)/version.lo
>  	$(call quiet-command,$(WINDRES) -I$(BUILD_DIR) -o $@ $<,"  RC    version.o")
> -$(BUILD_DIR)/version.lo: $(SRC_PATH)/version.rc $(BUILD_DIR)/config-host.h
> +$(BUILD_DIR)/version.lo: $(SRC_PATH)/version.rc config-host.h
>  	$(call quiet-command,$(WINDRES) -I$(BUILD_DIR) -o $@ $<,"  RC    version.lo")
>  
>  Makefile: $(version-obj-y) $(version-lobj-y)
> 

Applied, thanks.

Paolo

  reply	other threads:[~2015-02-27 14:22 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-18 12:59 [Qemu-devel] [PATCH] Makefile: fix up parallel building under MSYS+MinGW Vasily Efimov
2015-02-27 14:22 ` Paolo Bonzini [this message]
2015-03-02 12:32 ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54F07DAD.1030205@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=batuzovk@ispras.ru \
    --cc=qemu-devel@nongnu.org \
    --cc=real@ispras.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.