X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-50.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,TW_JL,TW_YG X-Spam-Check-By: sourceware.org Subject: Re: cygport patch: suppress libtool fixup step From: "Yaakov (Cygwin/X)" To: cygwin In-Reply-To: <4C34D3BF.7020404@cwilson.fastmail.fm> 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> <1278455320 DOT 4032 DOT 49 DOT camel AT YAAKOV04> <4C33EEC1 DOT 9050600 AT cwilson DOT fastmail DOT fm> <1278519024 DOT 1096 DOT 90 DOT camel AT YAAKOV04> <4C34D3BF DOT 7020404 AT cwilson DOT fastmail DOT fm> Content-Type: text/plain; charset="UTF-8" Date: Wed, 07 Jul 2010 19:14:15 -0500 Message-ID: <1278548055.6960.59.camel@YAAKOV04> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 Wed, 2010-07-07 at 15:21 -0400, Charles Wilson wrote: > Really? Other than the packaging issues, I had no problem with JonY's > src snapshot, compiling a 64bit-default, but multilib enabled, gcc. did > something break upstream between when JonY took his snapshot and today, > or are you referring to some other problem? I meant with cygport: strip(1)ing, cygconf handling of --build/host/target, definition of $CC and friends, dependency listings, and more. There are a lot of cygwin-cygwin-cygwin assumptions in the code that need to be revised, but I'm making progress. As for the packaging, I don't agree with the current packaging, but I'll save my opinion for my response to his ITP. > It is...tricky, no doubt. But all problems have solutions...depending > on how much effort and/or how much in-elegance you're willing to put up > with. > > And, of course, whether the benefits outweigh those costs. Since JonY's > doing the work, I'm willing to defer to his judgment on that once all > the costs are documented on the list and he can make an informed decision. OOTB gcc multilib does not build, nor AFAICS do clear-cut patches exist to fix it. Others in #mingw-w64 seem to think that multilib isn't worth the headache, at least not yet. We'll see what I come up with over the next few days, but right now I'm going with a non-multilib gcc as my working example. > Am I correct in supposing you'd favor two mingw64 compilers: > > 64bit default, multilib (because "multilib makes sense for a 64bit > compiler") based on mingw64 > > PLUS a > > 32bit *non-multilib* mingw64 compiler (because "[multilib] makes no > sense for a 32bit compiler", and "there is a place for both [mingw64 > 32bit and mingw.org 32bit, as I read your statement in context]") > > and a separate > > 32bit mingw.org compiler ("there is a place for both") Yes, I believe that there is place for all three of those. > Well, to an extent I agree. But...what if you're building a > cross-compiled package (say, mingw-xz, with liblzma), and installing > into a sysroot (e.g. --prefix=/something/other/than/usr: > /usr/sysroot/mingw32/lib/liblzma.la > In that case, wouldn't the corresponding DLL go into > /usr/sysroot/mingw32/bin/liblzma-0.dll > That is, ../bin ? That would be libtool's default, but that doesn't make it right. My changes to the libtool fixups would move it back into lib. > Or, are you talking only and specifically about the DLLs associated with > the gcc runtime libraries, like libgcc_s-sjlj-1.dll? Remember that libgcc is not a libtool library. But the other gcc libs are, and I would also leave them alongside their .la's. > Wonderful, and I appreciate that very much. This (and the entire cluster > of related) discussion have a great potential to turn into bikeshedding > confabs, so contributions by folks who, like yourself, are actually > rolling up their sleeves and pitching in are MUCH appreciated. > > Thank you. You're welcome. I knew this was a deficiency in cygport for a long time, but I needed someone to give me something concrete to work with. > Ah, but before they can be fixed, you must determine what the correct > behavior should BE. I don't think leaving dll's -- particularly for > cross-compilED packages (aka (1), above) -- in the same directory as the > .la is the right thing to do. For the compiler's $target runtime > DLLs...I don't know. Certainly they do not belong in /usr/bin, whatever > happens. Where they SHOULD go -- I don't think we've determined that yet. My POV is that a cygwin-hosted mingw*-target compiler is no different than any other cross-compiler: nothing on the system is meant to *run* with the $target libraries, because in 99% of cross-compiles that's impossible. Therefore, they don't need to be in PATH (or in a place which is conveniently added to PATH). As you say, they obviously don't belong in /usr/bin (they're not needed there, and the three mingw* would collide), nor in /usr/$target/bin (not its purpose). The only place that does make sense is alongside the .la, just as it would be with with other cross-compilers. You wouldn't move a cross-compiler libgcc_s.so.1 to /usr/lib or put its toolexeclibdir in LD_LIBRARY_PATH, would you? So right now my approach is /usr/bin/$target-foo.exe, /usr/$target/{bin,include,lib} and /usr/lib/gcc/$target/$version, with conflicting data (e.g. infos and locales) removed, as the latter could be shared by the native binutils/gcc. > However, if additional cygport changes are planned and ongoing to make > this cross stuff work better -- than I shall now do the Snoopy Dance of Joy. I'm not limiting this to mingw32/64; my intent is to make a generic solution that will work for *any* target. I plan to test with a i686-pc-linux-gnu toolchain as well, time permitting. > I *DO* wish that somebody had chimed in to the discussion earlier, > before JonY and I had progressed very far along. My original > suggestions -- most of them, anyway -- were intended to start > discussions, not necessarily be taken as immediate instructions for > JonY. However, he did act on them almost immediately -- and nobody > complained. So, we kept going. > > Now we have a lot of track to retrace. I feel bad for JonY. Maybe we @ > cygwin and cygwin-apps can get this all nailed down for him, before he > returns next week. I intend on doing just that, with a response to his ITP containing a beta cygport(1) and a complete set of revised .cygports to match. Stay tuned. Yaakov -- 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