From: Stefan Weil <weil@mail.berlios.de>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] Fix SDL configuration for mingw32 cross compilation.
Date: Sun, 14 Jun 2009 16:00:40 +0200 [thread overview]
Message-ID: <4A350288.5090804@mail.berlios.de> (raw)
In-Reply-To: <4A34271B.8080207@us.ibm.com>
Anthony Liguori schrieb:
> Stefan Weil wrote:
>> When building QEMU for win32 on linux with mingw32,
>> configure must call ${cross_prefix}-sdl-config (not
>> sdl-config) to get the correct include and lib paths.
>>
>> The results of the native sdl-config are only valid
>> for native builds. They are useless for cross builds.
>>
>
> No, when you cross compile sdl, you still end up with an sdl-config
> binary. The solution is to install the binary to a different path and
> use PATH when building.
>
> Where did you get your cross build of SDL from? I assume whoever
> packaged it renamed the binary but it's not what sdl actually does.
>
The PATH solution works (I used it, too), but it is bad:
you have to use a modified PATH for every cross build
(make calls configure when the configure script is updated).
http://www.libsdl.org/release/SDL-devel-1.2.9-mingw32.tar.gz
contains i386-mingw32msvc-sdl-config. It is rather old,
but I liked this and renamed it to i586-mingw32msvc-sdl-config.
When I installed newer versions of cross SDL, I made
a symbolic link from cross sdl-config to i586-mingw32msvc-sdl-config.
There is a quasi-standard for cross tools: binutils and gcc
are installed in a similar way. For example,
/usr/bin/i586-mingw32msvc-strip and
/usr/i586-mingw32msvc/bin/strip are (hard) linked.
If your cross sdl-config happens to be in
/usr/i586-mingw32msvc/bin and you add this to PATH,
you will see another problem caused by the PATH solution:
you will get the wrong binutils (ar, as, strip, ...)!
Ok, cross sdl-config (which is a script, not a binary)
can have its own directory, then this is not a problem.
sdl-config exists because users should not need to know
paths for includes, libs (and binaries) but have a simple
interface to ask for the information they need.
The same simple interface is needed for cross sdl.
There are no packages with cross build SDL (at least I
don't know any), so it is always a manual installation.
Adding a symbolic link is then easy:
ln -s /usr/i586-mingw32msvc/bin/sdl-config
/usr/bin/i586-mingw32msvc-sdl-config.
Looking for i586-mingw32msvc-sdl-config at google shows
that others use this solution, too.
Even better for most users would be a package or tar file
which installs the sdl cross environment needed for QEMU
mingw32 cross builds. Should I prepare one?
Or you could add a configure option which tells configure
where to look for sdl-config or its base directory,
something like --with-sdl-prefix=/usr/i586-mingw32msvc
(this is used by other projects, see google).
Regards
Stefan
next prev parent reply other threads:[~2009-06-14 14:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-13 8:01 [Qemu-devel] [PATCH] Fix SDL configuration for mingw32 cross compilation Stefan Weil
2009-06-13 22:24 ` Anthony Liguori
2009-06-14 14:00 ` Stefan Weil [this message]
2009-06-15 2:20 ` Anthony Liguori
2009-06-16 15:28 ` Jamie Lokier
2009-06-16 16:31 ` Stefan Weil
2009-06-16 18:14 ` Jamie Lokier
2009-06-17 10:27 ` Daniel P. Berrange
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A350288.5090804@mail.berlios.de \
--to=weil@mail.berlios.de \
--cc=aliguori@us.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.