qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH] Allow building without graphics support


From: Stefan Weil
Subject: Re: [Qemu-devel] [RFC PATCH] Allow building without graphics support
Date: Thu, 13 Dec 2012 19:58:19 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/17.0 Thunderbird/17.0

Am 13.12.2012 16:53, schrieb Scott Wood:
On 12/13/2012 12:31:14 AM, Stefan Weil wrote:
Am 13.12.2012 01:48, schrieb Scott Wood:
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, ...).

No, they are with prefix, just not in $PATH. I have more than one "powerpc-linux-gnu" toolchain and I don't want to mess with my $PATH constantly to choose between them.

Then there must also be the same executables with prefix
(powerpc-linux-gnu-gcc, powerpc-linux-gnu-ld, ...). These must be somewhere in PATH.

No.  This was never a requirement before -- why now?

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.

No, it's real name is /home/scott/fsl/tc/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu-gcc

-Scott


That are a lot of "no"s. So let me try to be a bit clearer.

You said that you forced --host=powerpc-linux into the pixman configure command. That cannot work, because your host prefix is powerpc-linux-gnu, not powerpc-linux.
No wonder that pixman used the native compiler.

A cross prefix which starts with an absolute path (like in your scenario) justs
requires adding `dirname "${cross_prefix}"` to PATH and passing
`basename "${cross_prefix%-}" to the pixman configure.

These modifications could be added to QEMU's configure and Makefile
if we really want that. Installing pixman once manually also works
and saves compilation time for repeated builds. That's why I no longer
use internal pixman for any of my cross compilations.

-Stefan




reply via email to

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