[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mingw-cross-env-list] Fwd: Re: [Mingw-users] Compiling on Linux with a
From: |
Mark Brand |
Subject: |
[Mingw-cross-env-list] Fwd: Re: [Mingw-users] Compiling on Linux with a windows target |
Date: |
Thu, 24 Sep 2009 09:41:52 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.4pre) Gecko/20090720 SUSE/2.0b2-1.1 SeaMonkey/2.0b2 |
Hi Volker et al,
Keith Marshall from the MingGW project posted some remarks yesterday on
the mingw-users list relevant to the discussion here about static vs
shared and the choice of host/target prefix. See below.
FWIW, I would also like to share my thoughts on the static vs shared
issue. My apologies if I'm repeating ideas already expressed on the list.
It makes sense to me to make the static/shared decision on a per package
basis. Smaller low-level libraries would tend to be static, while bigger
platform libraries would tend to be shared.
Shared linking makes sense for big platform-type libraries such as GTK
or (not yet in mingw-cross-env) Qt. If I'm developing a Qt application,
I'm generally aware of which Qt DLLs the application needs, so it's not
much trouble to package them with the application. Static linking Qt
libraries also carries complications for using plug-ins, which argues
for shared. Similar considerations might exist for GTK.
There are obviously exceptions to the rule "static for low-level and
shared for platform libraries", such as libusb which must be shared.
Of course, where practical, a package's makefile in mingw-cross-env
could be configurable to accommodate personal taste.
Mark
-------- Original Message --------
Subject: Re: [Mingw-users] Compiling on Linux with a windows target
Date: Wed, 23 Sep 2009 10:50:43 +0100
From: Keith Marshall <address@hidden>
Reply-To: MinGW Users List <address@hidden>
Organization: MinGW Project Administrator
To: address@hidden
On Wednesday 23 September 2009 03:10:24 Jonathan Marsden wrote:
I submit that the use of -static and cross-compilation are
independent.
And you are correct! FWIW, I routinely cross-compile MinGW code,
(including some of contributed modules distributed from our project
page on SourceForge), on my Ubuntu-8.04 box; I don't recall *ever*
having used the `-static' option.
"creativity" you mention comes down to how you choose to name the
last "system" part of the triplet, and... yes, it's unfortunate
that different distributions do it differently regarding MinGW
cross-compilers! I think there is a bug filed against Debian
and/or Ubuntu complaining about their choice for that.
If there isn't, there should be! On Ubuntu-8.04, (and on SUSE-10.0
previously), I compile my own MinGW cross-compiler from source; I
invoke it as `mingw32-gcc ...'. Some may choose to add the `i386'
(or equivalent `i?86') CPU designator and `pc' VENDOR identifier,
(which is rather meaningless), but in reality, both of these are
mostly redundant; the critical element is the `mingw32' identifier
for the host OS. The official view of the MinGW project, (and this
is an authoritative observation), is that the OS identifier should
be specified *exactly* as `mingw32'. Debian and Ubuntu, who create
and distribute their MinGW cross-compilers without our support, (or
indeed without any reference to us), extend it to `mingw32msvc'.
They get away with this, because the autotools match on `mingw32*',
but the reality is that `mingw32msvc' is meaningless nonsense.
--
Regards,
Keith.
- [Mingw-cross-env-list] Fwd: Re: [Mingw-users] Compiling on Linux with a windows target,
Mark Brand <=