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 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> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , 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