This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: specs file for gcc-2.95.2-7 and -mno-cygwin


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]