This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem building g++ 4.1.1 on Cygwin


Dave Yost wrote:

> I'm trying to build a 4.1.1 on cygwin that will let me use the
> -mno-cygwin argument.  I looked and looked on the web for the runes
> and finally heard somewhere in a dark alley that I should try
> something like the below.  I first ran Cygwin setup, and everything
> is up to date.

I think you're a little confused here.  There are two main gcc targets
on win32, Cygwin and MinGW.  The Cygwin gcc target has a -mno-cygwin
option which is just a shortcut for invoking the MinGW gcc if it is
installed in the right place (i.e. in a parallel directory structure.)

If you want to compile things with the MinGW gcc then you'll obviously
have to build that, but if you want to invoke the MinGW gcc as "gcc
-mno-cygwin" then you'll need to also build the native Cygwin gcc of the
same version and install them both in the same place.  It seems like a
lot of work to go through to build two compilers when you could just
build a native MinGW gcc and invoke it directly.

> Z% ./configure \
>     --prefix=/usr/local \
>     --enable-version-specific-runtime-libs \
>     --disable-nls \
>       --host=i686-pc-cygwin \
>     --target=i686-pc-mingw32

Here you are cross compiling (in the eyes of autoconf at least) even
though both targets are nearly compatible at the assembler and linker
level.

> echo timestamp > stmp-int-hdrsmake[2]: *** No rule to make target
> `/usr/local/bin/i686-pc-mingw32-as.exe', needed by `stamp-as'.  Stop.

But here autoconf can't find the assembler for the target you
specified.  It doesn't know that it can use the native host assembler,
because it thinks you are cross compiling.  Which you are, technically. 
So you'll need to build a cross-binutils, or at least provide symlinks
or shell wrappers so that they are available under the target-prefixed
alias.

Brian


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