[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [PATCH] Makefile: fix out-of-tree builds

From: Michael Roth
Subject: Re: [Qemu-trivial] [PATCH] Makefile: fix out-of-tree builds
Date: Mon, 25 Jul 2011 08:57:52 -0500
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:5.0) Gecko/20110624 Thunderbird/5.0

On 07/25/2011 07:43 AM, Stefan Hajnoczi wrote:
On Mon, Jul 25, 2011 at 1:16 PM, Michael Roth<address@hidden>  wrote:
On 07/25/2011 05:15 AM, Stefan Hajnoczi wrote:

On Thu, Jul 21, 2011 at 5:41 AM, Alexandre Raymond<address@hidden>

This patch fixes a minor bugs which prevented QEMU from being built
out of tree.

Signed-off-by: Alexandre Raymond<address@hidden>
  Makefile |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

I don't normally use --source-path but it still seems broken to me
after applying your patch?

$ cd /tmp; mkdir out; cd out
$ ~/qemu/configure --source-path=$HOME/qemu
$ make
   GEN   config-all-devices.mak
cat: i386-softmmu/config-devices.mak: No such file or directory
cat: x86_64-softmmu/config-devices.mak: No such file or directory
cat: alpha-softmmu/config-devices.mak: No such file or directory


Works okay for me with and without the patch if I do a `make distclean` in
$HOME/qemu beforehand.

Not sure what the trigger is for the breakage Alexandre is trying to

You are right that make distclean in the source directory solves the issue.

Intuitively I expect ./configure to re-wire things, make distclean
should not be necessary.

Alexandre: Can you describe the case where you hit a build issue in more detail?


The root problem seems to be that by including $(SRC_DIR) in VPATH (via $(call set-vpath, $(SRC_PATH):$(SRC_PATH)/hw)), $(SRC_DIR) ends up being searched for source files as well as target dependencies. So any crud left in there can still satisfy dependencies when building outside $SRC_PATH. I'm not sure there's a simple way around this except to prefix all source files with $(SRC_PATH) and remove $(SRC_PATH) from VPATH...I'm not even sure that would work though..

Perhaps just a friendly error message if we detect the $(SRC_PATH) directory needs a distclean? Once you know that's the magic fix it's not terribly inconvenient....alternatively we could automatically do the distclean in $SRC_PATH but that might be considered overstepping our bounds.

Consequently, it seems like this patch would be a noop...default-configs should never exist in an external build directory, so $(SRC_PATH)/default-configs and default-configs end up being equivalent when make eventually find it in $(SRC_PATH).

reply via email to

[Prev in Thread] Current Thread [Next in Thread]