From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:60901) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tj2KI-00009H-IZ for qemu-devel@nongnu.org; Thu, 13 Dec 2012 01:31:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tj2KE-0004xG-7J for qemu-devel@nongnu.org; Thu, 13 Dec 2012 01:31:22 -0500 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:52926) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tj2KD-0004xA-UH for qemu-devel@nongnu.org; Thu, 13 Dec 2012 01:31:18 -0500 Message-ID: <50C97632.80800@weilnetz.de> Date: Thu, 13 Dec 2012 07:31:14 +0100 From: Stefan Weil MIME-Version: 1.0 References: <1355359739.28445.22@snotra> In-Reply-To: <1355359739.28445.22@snotra> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH] Allow building without graphics support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Scott Wood Cc: Stefan Weil , Anthony Liguori , qemu-devel@nongnu.org, Gerd Hoffmann Am 13.12.2012 01:48, schrieb Scott Wood: > On 12/12/2012 12:46:44 AM, Stefan Weil wrote: >> Am 12.12.2012 04:18, schrieb Scott Wood: >>> QEMU is sometimes used in embedded contexts, where graphical support >>> is unnecessary. The ability to turn off graphics support not only >>> saves some space, but it eliminates the dependency on pixman. >>> >>> Signed-off-by: Scott Wood >>> --- >>> There are undoubtedly some rough edges that need to be cleaned up and >>> other parts of graphics code that could be compiled out -- this is >>> mainly >>> meant to see what people think of the concept. >>> >>> My immediate motivation was that the QEMU-supplied pixman was being a >>> pain to cross compile (especially without hacking up the generated QEMU >>> makefiles to pass additional things to pixman's configure), and in >>> general it would be nice to not have to carry around graphical baggage >>> when running on hardware that doesn't even have a display (so I was >>> more >>> inclined to do this than to spend effort fixing the pixman build). >> >> Hi, >> >> cross compilation works for me with the internal pixman. >> Here is an example which I use to compile Windows 64 bit >> executables on Debian: >> >> ./configure' '--cross-prefix=amd64-mingw32msvc-' >> >> Are there still problems with cross compilation in latest QEMU? > > It doesn't seem to like my --cross-prefix being a full path rather > than being a recognized target pattern: > > checking host system type... Invalid configuration > `/home/scott/fsl/tc/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu': > machine > `/home/scott/fsl/tc/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc' > not recognized > configure: error: /bin/bash /home/scott/fsl/git/qemu/pixman/config.sub > /home/scott/fsl/tc/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu > failed > make: *** [pixman/Makefile] Error 1 > > When I forced --host=powerpc-linux into the pixman configure command > in QEMU's generated Makefile, it got past that, but it built > everything with the native compiler: > > checking build system type... x86_64-unknown-linux-gnu > checking host system type... powerpc-unknown-linux-gnu > checking for powerpc-linux-gcc... no > checking for gcc... gcc > > Looking a bit more closely, it seems that it's the QEMU rather than > pixman's autoconf that is making the bad assumption about the format > of --cross-prefix (I really wasn't up for wading in autoconf). > Running basename on cross-prefix and explicitly supplying CC and such > to pixman would help, though there still should be a way to pass in an > explicit host tuple if you have an unusually-named toolchain. > > -Scott Indeed, --cross-prefixdoes not support absolute path names. I assume that the executables in /home/scott/fsl/tc/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/binare without prefix (gcc, ld, ...). Then there must also be the same executables with prefix (powerpc-linux-gnu-gcc, powerpc-linux-gnu-ld, ...). These must be somewhere in PATH. Use --cross-prefix=powerpc-linux-gnu-(note the "-" at the end). Then pixman would be configured with --host=powerpc-linux-gnu and should find the compiler. It won't find the compiler powerpc-linux-gcc when its real name is powerpc-linux-gnu-gcc. -Stefan