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 Date: Mon, 5 Feb 2001 14:48:07 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: specs file for gcc-2.95.2-7 and -mno-cygwin Message-ID: <20010205144807.A12236@redhat.com> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.11i In-Reply-To: ; from ripley@stats.ox.ac.uk on Mon, Feb 05, 2001 at 06:55:13PM +0000 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? >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? >5) I rather suspect from the header files that __MINGW32__ should be > 0.3 not 0.2. That was a fallout of 3) above. > >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? cgf >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} > > *cc1: > %(cc1_spec) >@@ -80,7 +80,7 @@ > %{!mcpu*: %{m386:-mcpu=i386 -march=i386} %{m486:-mcpu=i486 -march=i486} %{mpentium:-mcpu=pentium} %{mpentiumpro:-mcpu=pentiumpro}} > > *mingw_include_path: >-i686-pc-cygwin >+ > > *link_command: > %{!fsyntax-only: %{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}} %{static:} %{L*} %D %o %{!nostdlib:%{!nodefaultlibs:%G %L %G}} %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} > > >-- >Brian D. Ripley, ripley AT stats DOT ox DOT ac DOT uk >Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ >University of Oxford, Tel: +44 1865 272861 (self) >1 South Parks Road, +44 1865 272860 (secr) >Oxford OX1 3TG, UK Fax: +44 1865 272595 > > >-- >Want to unsubscribe from this list? >Check out: http://cygwin.com/ml/#unsubscribe-simple -- cgf AT cygnus DOT com Red Hat, Inc. http://sources.redhat.com/ http://www.redhat.com/ -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple