From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=46507 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OETA7-0002sw-Ei for qemu-devel@nongnu.org; Tue, 18 May 2010 16:13:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OETA3-0001LA-FY for qemu-devel@nongnu.org; Tue, 18 May 2010 16:13:09 -0400 Received: from moutng.kundenserver.de ([212.227.17.10]:54568) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OETA3-0001Kp-2Y for qemu-devel@nongnu.org; Tue, 18 May 2010 16:13:07 -0400 Message-ID: <4BF2F4C6.20704@mail.berlios.de> Date: Tue, 18 May 2010 22:12:54 +0200 From: Stefan Weil MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] Fix cross compilation References: <20100409194401.GE21042@volta.aurel32.net> <1271004258-26882-1-git-send-email-weil@mail.berlios.de> <20100518174349.GA31346@ohm.aurel32.net> In-Reply-To: <20100518174349.GA31346@ohm.aurel32.net> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: QEMU Developers Am 18.05.2010 19:43, schrieb Aurelien Jarno: > On Sun, Apr 11, 2010 at 06:44:18PM +0200, Stefan Weil wrote: > >> This patch enhances the algorithm which finds the correct settings for SDL. >> For cross compilations (when cross_prefix is set), it looks for sdl-config >> with cross prefix. Here is the complete search order: >> >> $(cross_prefix}pkg-config (old, only used for cross compilation) >> ${cross_prefix}sdl_config (new, only used for cross compilation) >> pkg-config (old, needs PATH) >> sdl-config (old, needs PATH) >> >> Cross SDL packages (or the user) now can simply set a link (for example >> /usr/bin/i586-mingw32msvc-sdl-config -> /usr/i586-mingw32msvc/bin/sdl-config) >> which allows cross compilations without PATH modifications. >> >> Without the patch, configure and make (which calls configure) typically >> need a non-standard PATH. Failing to set this special PATH results in >> broken builds. >> >> v2: >> * Favour pkg-config over sdl-config for cross compilations >> (suggested by Aurelien Jarno) and add comment for this. >> >> Cc: Aurelien Jarno >> Signed-off-by: Stefan Weil >> --- >> configure | 12 +++++++++++- >> 1 files changed, 11 insertions(+), 1 deletions(-) >> >> diff --git a/configure b/configure >> index 966cd7d..47fca4f 100755 >> --- a/configure >> +++ b/configure >> @@ -1064,7 +1064,17 @@ fi >> ########################################## >> # SDL probe >> >> -if $pkgconfig sdl --modversion>/dev/null 2>&1; then >> +# Look for sdl configuration program (pkg-config or sdl-config). >> +# Prefer variant with cross prefix if cross compiling, >> +# and favour pkg-config with sdl over sdl-config. >> +if test -n "$cross_prefix" -a $pkgconfig != pkg-config&& \ >> > ^^^^^^^^^^^^^^^^^^^^^^^^^^ > Why this test ? > > This tests for cross compilation with a working cross pkg-config (and not the fallback solution "hope for the best" which is used in the third case). >> + $pkgconfig sdl --modversion>/dev/null 2>&1; then >> + sdlconfig="$pkgconfig sdl" >> > It should probably be sdlconfig="${cross_prefix}$pkgconfig sdl" so that > the cross version of pkg-config is called later in this file. > pkgconfig="${cross_prefix}pkg-config" (was set earlier), so it is the cross version. > >> + _sdlversion=`$sdlconfig --modversion 2>/dev/null | sed 's/[^0-9]//g'` >> +elif test -n "$cross_prefix"&& has ${cross_prefix}sdl-config; then >> + sdlconfig="${cross_prefix}sdl-config" >> + _sdlversion=`$sdlconfig --version | sed 's/[^0-9]//g'` >> +elif $pkgconfig sdl --modversion>/dev/null 2>&1; then >> sdlconfig="$pkgconfig sdl" >> _sdlversion=`$sdlconfig --modversion 2>/dev/null | sed 's/[^0-9]//g'` >> elif has sdl-config; then >> -- >> 1.7.0 >> >> >> >> >> >