From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N652N-0002qu-0K for qemu-devel@nongnu.org; Thu, 05 Nov 2009 11:18:15 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N652I-0002ph-L2 for qemu-devel@nongnu.org; Thu, 05 Nov 2009 11:18:14 -0500 Received: from [199.232.76.173] (port=33528 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N652I-0002pW-BZ for qemu-devel@nongnu.org; Thu, 05 Nov 2009 11:18:10 -0500 Received: from mx1.redhat.com ([209.132.183.28]:59353) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N652H-00077G-SK for qemu-devel@nongnu.org; Thu, 05 Nov 2009 11:18:10 -0500 From: Juan Quintela In-Reply-To: <20091105141335.GY3983@caradoc.them.org> (Daniel Jacobowitz's message of "Thu, 5 Nov 2009 09:13:35 -0500") References: <20091105141335.GY3983@caradoc.them.org> Date: Thu, 05 Nov 2009 17:17:46 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: [Qemu-devel] Re: [PATCH 0/2] Build fixes List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Daniel Jacobowitz Cc: qemu-devel@nongnu.org Daniel Jacobowitz wrote: > On Thu, Nov 05, 2009 at 02:42:51PM +0100, Juan Quintela wrote: >> Hi >> >> This series fixes the parallel build of qemu. I tried to get the best of >> Daniel and Stefan ideas with mine. >> Once there fixed an obvious fix. >> >> Daniel, can you check that parallel build also works for you? It works for me (TM). > > No, it doesn't work. > > GEN config-all-devices.mak > GEN config-host.h > GEN config-all-devices.h > CC qemu-tool.o > CC cutils.o > In file included from /scratch/dan/qemu/src/qemu-trunk/qemu-tool.c:14: > /scratch/dan/qemu/src/qemu-trunk/qemu-common.h:32:25: error: > config-host.h: No such file or directory > make: *** [qemu-tool.o] Error 1 How are you compiling? It works for me compiling in-tree with make -j3 (only 2 cores) > You have to define GENERATED_HEADERS before you use it in > dependencies, I believe. But you've got it way down below the > rules.mak invocation. Will try it. > Also, your changes to $(QEMU_PROG) and recurse-all are not necessary; before recurse-all is necesary, because the sub-targets use config-host.h (they don't use config-all-devices.h, but it don't hurt to also generate it). > they're the same sort of ordering assumption that caused the original > bug. You only need to depend on generated files if you're going to > use them in this rule's commands; for headers, that means invoke a .c > to .o compilation. The dependencies should be on exactly the rules > that need them. > > I didn't bother with Makefile.target since the headers are generated > in the top level and that make will remain recursive. Not all of them. configure-target.h and config-device.h is generated there. ok, subdir-% already depends on them. I am sending a new patch with you suggestions, it works for me (again). on-tree and out-of-tree compilation with make -j (still on my laptop with 2 cores). Can you test my new series? Later, Juan.