Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com X-Apparently-From: Message-ID: <3A7F4BCF.FF2DA6C0@yahoo.com> Date: Mon, 05 Feb 2001 19:56:48 -0500 From: Earnie Boyd Reply-To: cygwin AT cygwin DOT com X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.2.171 i686) X-Accept-Language: en MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: specs file for gcc-2.95.2-7 and -mno-cygwin References: <20010205144807 DOT A12236 AT redhat DOT com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Christopher Faylor wrote: > On Mon, Feb 05, 2001 at 06:55:13PM +0000, Prof Brian D Ripley wrote: > >I believe there are several problems in using gcc-2.95.2-7.tar.gz with > >mingw-20010130-1.tar.gz (the latest on the mirror I use), and I will append > >a patch to the specs file which addresses these. > > > >1) mingw-20010130-1.tar.gz unpacks into /usr/include/mingw32, but the > > specs file has `mingw' in several places. I've assumed the specs file > > is the wrong one here. > > The only ming32 that I see in mingw-20010130-1.tar.gz is libmingw32.a. > Earnie, do you want to change the name of this file? > No. In this case it implies 32bit vs 64bit. I want the clarafication because the headers have begun to see the 64bit entries. > > >2) The mingw(32) files are selected by -idirafter, and so come after > > those in /usr/lib/gcc-lib/i686-pc-cygwin/2.95.2-7/include in the > > system include path. This is wrong at least in the case of > > float.h, where the mingw version must take precedence. Maybe > > -isystem /usr/local/include/mingw was just a mistake. > > Nope. The isystem was just to get the include order correct. It is > a recent addition. > > >3) The -mno-cygwin build is now targeted at msvcrt.dll (good). > > However, the mingw header files default to target crtdll.dll > > unless __MSVCRT__ is set, and it has not been. > > I don't know how this happened but Earnie did supply me with patches > that did this. My cross-compilation environment somehow screwed up. > > If you remove the specs file and do a 'gcc -dumpspecs', you'll see a > different configuration. > > >4) `*mingw_include_path: i686-pc-cygwin' seems out of date : the > > mingw include files are no longer installed there. > > I'm not sure how this is even used. Can someone enlighten me? > Mumit? I wondered about this too. But, you just don't fix what isn't broken. > > >5) I rather suspect from the header files that __MINGW32__ should be > > 0.3 not 0.2. > > That was a fallout of 3) above. And it should actually be 0.4. > > > > >I usually use the real mingw compilers to compile the GNU R project > >(http://www.r-project.org) but a user complained that it no longer > >compiled under cygwin, which led me to investigate this. > > > >I have not attempted to sort out the g++ header file paths, as > >without a mingw version of libstdc++ (AFAICS) there is little > >mileage in compiling C++ under -mno-cygwin, and I don't have need of it. > > Could you possibly break out this diff into separate lines so that I can > see what's changed? > Yes, please. > > cgf See note below. > > >diff -u follows: > >--- specs.orig Tue Jan 30 21:38:32 2001 > >+++ specs Sat Feb 3 18:22:32 2001 > >@@ -5,7 +5,7 @@ > > > > > > *cpp: > >--remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{!mno-cygwin:-D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -isystem /usr/local/include -idirafter /usr/include} %{mno-win32: %{mno-cygwin: %emno-cygwin and mno-win32 are not compatible}} %{mno-cygwin:-DWIN32 -D__WIN32__ -D__MINGW32__=0.2 %{mthreads:-D_MT} -isystem /usr/local/include/mingw -idirafter /usr/include/mingw -iwithprefixbefore ../../../../mingw/include/g++-3 -iwithprefixbefore ../../../../mingw/include -iwithprefixbefore ../../../../mingw32/include/g++-3 -iwithprefixbefore ../../../../mingw32/include } %{mwin32:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ -DWINNT -idirafter /usr/include/w32api} > >+-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{!mno-cygwin:-D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -isystem /usr/local/include -idirafter /usr/include} %{mno-win32: %{mno-cygwin: %emno-cygwin and mno-win32 are not compatible}} %{mno-cygwin:-DWIN32 -D__WIN32__ -D__MINGW32__=0.3 -D__MSVCRT__ %{mthreads:-D_MT} -isystem /usr/include/mingw32 -idirafter /usr/include/mingw32 -iwithprefixbefore ../../../../mingw32/include/g++-3 -iwithprefixbefore ../../../../mingw32/include -iwithprefixbefore ../../../../mingw32/include/g++-3 -iwithprefixbefore ../../../../mingw32/include } %{mwin32:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ -DWINNT -idirafter /usr/include/w32api} Chris, the `-dirafter /usr/include/w32api' needs to be moved outside of the '}' so that Cygwin can pick this up too. Earnie. _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple