Mail Archives: cygwin/2001/02/05/20:10:11
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
- Raw text -