mingw-cross-env-list
[Top][All Lists]
Advanced

[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.







reply via email to

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