X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,RCVD_IN_DNSWL_LOW,TW_YG X-Spam-Check-By: sourceware.org Message-ID: <4C337C6E.2080003@cwilson.fastmail.fm> Date: Tue, 06 Jul 2010 14:56:46 -0400 From: Charles Wilson Reply-To: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.4) Gecko/20100608 Thunderbird/3.1 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> In-Reply-To: <1278402537.5784.8.camel@YAAKOV04> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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 7/6/2010 3:48 AM, Yaakov (Cygwin/X) wrote: > On Mon, 2010-07-05 at 13:27 -0400, Charles Wilson wrote: >> JonY needs to suppress the "libtool fixup" postinstall step when >> packaging the mingw64 gcc. He may or may not need to fixup his .la >> files, BUT -- given that we're talking about gcc here, AND his cross >> compiler goes somewhere other than /usr...it's likely that whatever >> "fixing up" he needs to do, will be specific to that package and likely >> unable to re-use the more generic fixup code. > > I am working on proper cross-compiler support within cygport now: > > * cygconf handling of build/host/target; > * modifying the libtool fixup for different targets; > * handling conflicting files between native and cross-compiler/ed > packages (to allow prefix=/usr). That is EXCELLENT (regardless of the answer to the question below). Thanks! There are a couple of ways the term "cross-compiler support" could be interpreted. 1) support using cygport to compile packages using a cygwin-based cross compiler ($host=cygwin, $target=?). E.g. mingw-zlib built using i686-pc-mingw32-gcc.exe. (or, for that matter, cross-compilers for some other $target) 2) support using cygport to create cygwin packages that provide the cross-compiler toolchains themselves 3) support using cygport on a linux $host, to create cygwin packages from a linux-host cygwin-target cross environment. Which of the three interpretations best describes your current effort? > Regarding libtool fixups: am I correct that on mingw32/64 platforms, > deep non-module libs still need to be relocated to remove the ../bin > (IOW put the DLL alongside the .la)? Err...yes and no. Ordinarily, yes: that's where the build -- as patched -- puts them. And that's probably what the default cygport ought to do, *in general*. However... To deal with the duplicated DLLs from two different multilib mingw64 toolchains (one that supports -m32 and -m64, but *defaults* to -m64, and one that also supports -m32 and -m64, but *defaults* to -m32), the DLLs are actually installed into a completely different directory outside the $triple area. The 64bit dlls are moved manually to $special_prefix/bin64/ and $special_prefix/bin32 -- because these DLLs are "shared" by both toolchains in the specificed -mXX mode, so the "deep" directory inside one toolchain's private area or the other, are both inappropriate. But...this is all handled manually, after 'make install'. So...yes, cygport should probably act as you specify, and then mingw64-gcc's cygport script will come along afterwards and further manipulate things. I still think that the ability to completely *suppress* libtool fixups is needed in general, both until the the cross-compile-supporting version reaches public release, and even afterwards, possibly. -- Chuck -- 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