Mail Archives: cygwin/2010/07/08/20:38:48
X-Recipient: | archive-cygwin AT delorie DOT com
|
X-SWARE-Spam-Status: | No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SARE_WEOFFER,TW_YG,T_TO_NO_BRKTS_FREEMAIL
|
X-Spam-Check-By: | sourceware.org
|
Message-ID: | <4C36746E.4040102@gmail.com>
|
Date: | Fri, 09 Jul 2010 01:59:26 +0100
|
From: | Dave Korn <dave DOT korn DOT cygwin AT gmail DOT com>
|
User-Agent: | Thunderbird 2.0.0.17 (Windows/20080914)
|
MIME-Version: | 1.0
|
To: | cygwin AT cygwin DOT com
|
Subject: | Re: cygport patch: suppress libtool fixup step
|
References: | <4C3215FC DOT 3010309 AT cwilson DOT fastmail DOT fm> <1278402537 DOT 5784 DOT 8 DOT camel AT YAAKOV04> <4C337C6E DOT 2080003 AT cwilson DOT fastmail DOT fm> <4C36098F DOT 8030109 AT gmail DOT com> <4C363AA8 DOT 7040500 AT cwilson DOT fastmail DOT fm>
|
In-Reply-To: | <4C363AA8.7040500@cwilson.fastmail.fm>
|
X-IsSubscribed: | yes
|
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm
|
List-Id: | <cygwin.cygwin.com>
|
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com>
|
List-Archive: | <http://sourceware.org/ml/cygwin/>
|
List-Post: | <mailto:cygwin AT cygwin DOT com>
|
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
|
Sender: | cygwin-owner AT cygwin DOT com
|
Mail-Followup-To: | cygwin AT cygwin DOT com
|
Delivered-To: | mailing list cygwin AT cygwin DOT com
|
On 08/07/2010 21:52, Charles Wilson wrote:
> 3) Now, if we want to have a *single* consolidated location for the $target
> DLLs -- so that you can actually RUN the stuff you build,
Ah, that's your mistake, right there. It is only an accident that the
binaries we compile with this particular cross-compiler happen to be
executable on the same box that the cross-compiler runs on, but that doesn't
make it not cross-compilation (it's the same host, but not the same $host),
and I don't think we should do special anything just in order to make them
immediately or easily executable. We offer an i686-pc-cygwin environment in
which there is a cross-compiler to (one or more of) *-pc-mingw*; but that's a
different host, and if someone wants to then *run* the cross-targeted binaries
they've just compiled, they need to *install* them into a mingw installation
(which also may happen to be on the same physical machine, but could just as
well be on another). There's no reason to try and arrange things that any of
the generated DLLs end up somewhere we can execute them from, I think that's a
category error.
> Well, yes...I agree with Doug Semler that by default, the -bindir argument
> should be $(toolexeclibdir) and not $(bindir) for cross builds.
Yes, he's right, that's definitely the way to go. And so any cross-compiler
we offer on cygwin should probably also leave the binaries there in the gcc
private dir, just as a convenience for those who want to *package* - not in
order to make anything directly *executable*.
> I'm just arguing that for the *specific* case where $host=cygwin and
> $target=mingw* (e.g. we know that the underlying platform ALSO supports
> running the "target" executables and DLLs),
I see where you're coming from, but I'm not sure how much it really buys us;
and if we simply write that off - just declare that all mingw flavours are
cross-hosts and you need to package and install stuff that you've
cross-compiled before it will necessarily work (and of course, 32-bit mingw
folks tend to prefer to have everything statically linked in monolithic
executables exactly to avoid having to distribute dlls with their apps) - I
think we can just skate round the issue and say that you can't necessarily run
a cross-compiled *-pc-*mingw* app straight out of its build dir any more than
you could a cross-compiled *-*linux* or a mips*-*-* app.
I don't suppose that the mingw cross-compilers in standard linux distros try
to install their runtimes into /usr/bin just because you might maybe have wine
available, do they?
cheers,
DaveK
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -