From mboxrd@z Thu Jan 1 00:00:00 1970 From: Radim =?utf-8?B?S3LEjW3DocWZ?= Subject: Re: [kvm-unit-tests PATCH v2 0/9] Support for out-of-tree builds Date: Fri, 19 May 2017 18:20:17 +0200 Message-ID: <20170519162016.GA11087@potion> References: <20170512164001.4117-1-alex.bennee@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: pbonzini@redhat.com, drjones@redhat.com, kvm@vger.kernel.org To: Alex =?utf-8?Q?Benn=C3=A9e?= Return-path: Received: from mx1.redhat.com ([209.132.183.28]:42342 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750881AbdESQUU (ORCPT ); Fri, 19 May 2017 12:20:20 -0400 Content-Disposition: inline In-Reply-To: <20170512164001.4117-1-alex.bennee@linaro.org> Sender: kvm-owner@vger.kernel.org List-ID: 2017-05-12 17:39+0100, Alex Bennée: > Hi, > > Here is v2 of the out-of-tree build. There have been a number of > changes following review and also inclusion of Thomas' ppc64 patch > which completes the set. > > The biggest change is the way I deal with creating build directories. > There is now a make variable called OBJDIRS which sub-builds can add > to. I had originally tried to be clever by expanding OBJDIRS into a > bunch of templated mkdir's which could then be set as > order-on-prerequisites as suggested by Drew. However it turns out to > be very hard to add the directory of the target as a prerequisite even > using hacks like GNU's secondary expansion. In the end I just created > a directories target and made sure the all: target had it as the first > thing. This breaks if someone tries to build an individual file > without first building the tree but I assume most people don't build > like that. If anyone else can come up with a neater solution I'm all > ears ;-) I noticed few cases that don't work: - SRC_DIR path contains whitespace - SRC_DIR was `./configure`d for another arch - SRC_DIR isn't clean (up-to-date results won't be rebuilt out-of-tree) - reconfiguring --arch in a out-of-tree directory The in-tree build still works, out-of-tree in decent cases, Makefile changes are reasonable, and reviewers seem content in front of a first-grade bikeshedding material ... Applied, thanks. > Finally I've added a .travis.yml recipe. This really only works for > github hosted repos but its better than nothing. Evidently the cross > compilers complain about: > > lib/report.c:38:17: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] > assert_msg(len < sizeof(prefixes), "%d >= %lu", len, sizeof(prefixes)); > > and: > > lib/report.c:38:2: error: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'unsigned int' [-Werror=format=] > assert_msg(len < sizeof(prefixes), "%d >= %lu", len, sizeof(prefixes)); > > But these can be addressed with separate patches. (Should be fixed now.)