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

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

Re: [Mingw-cross-env-list] Status of build with shared libraries


From: Volker Grabsch
Subject: Re: [Mingw-cross-env-list] Status of build with shared libraries
Date: Mon, 21 Oct 2013 11:01:33 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Tony Theodore schrieb:
> On 21/10/2013, at 12:32 AM, Peter Rockett <address@hidden> wrote:
> > 
> >> is anyone really going to want multiple toolchains simultaneously?
> > 
> > Erm... yes. For different projects. Two distinct toolchains imposes a 
> > maintenance  burden on users.
> 
> I'm not sure what the maintenance burden is, you just run mxe as normal and 
> end up with some prefixed compilers. So far, I've looked at building these in 
> separate phases so the toolchains will be distinct. You will have either:
> 
> i686-pc-mingw32.static-gcc
> i686-pc-mingw32.shared-gcc
>
> in your PATH, or

I'd strongly prefer this one. I had also thought of
replacing the dummy "-pc-" in the middle:

i686-static-mingw32-gcc
i686-shared-mingw32-gcc

However, that might be too much of a hack, so I
prefer the "i686-pc-mingw32.static" style.


> export PATH=~/mxe/usr/static/bin
> i686-pc-mingw32-gcc
> 
> export PATH=~/mxe/usr/shared/bin
> i686-pc-mingw32-gcc

I don't think we should do it that way, except some
technical obstacles prevent us from doing the
"i686-pc-mingw32.static" style. See below.

> Static and shared libs can probably be built in a single pass (I don't have 
> much experience with this), but the threading/exception variants can't.

In my experience, it is very hard to handle static and shared
builds in a single toolchain, even with just a handful of
libraries (let alone MXE).

I think it's much easier to have separate toolchains with
separate *.pc (pkg-config) scripts and without any ambiguity.
Mixing them could easily result in mixing shared and static
libraries in a build, at least accidentally. And fixing these
kind of issues is a major headache.

So in my opinion, static and shared builds should indeed be
considered completely separate toolchains.

The saving in build time by running fewer "./configure" scripts
cannot outweigh the headaches that arise from bugs about mixed
static/shared builds.


Regards,
Volker

-- 
Volker Grabsch
---<<(())>>---



reply via email to

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