This is the mail archive of the gcc@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: mingw32 target broken [cygwin as well] [the saga continues]



> This never seemed like desirable behavior to me, in part because newlib
> isn't even GNU software.  I'd prefer that configure attempt to link a
> program before it assumes it cannot.

Newlib is an operating system, just like solaris or IRIX.  It doesn't
have to be GNU software for us to support it, it just has to support
and allow GNU software.  And you can't always do a test link with
cross compilers, because you may not have built enough support stuff
(crt0, libc, gas/ld) to do so.  In fact, for a canadian cross, you
can't link *at all* because you just can't run the linker.

Newlib is a popular target for GNU tools, so people have contributed
extra support for it.  There are other platforms we do this for, like
cygwin and vxworks.

> > I've also noticed that the configure in the root directory of the gcc
> > checkout does not pass the --target=$TARGET option to the invocation
> > of configure for libstdc++-v3, although it does pass --with-target-dir
> 
> In the target subdirs, "target" becomes "host".

Yeah, that confuses people, but it does make sense.  "host" is what
you're building *for*.  For target libraries, you're building for the
--target, so $host is --target.

$build is what you're building *on*.
$host is what you're building *for*.
$target is what the stuff you're building produces code for.

With these definitions, it's meaningless to use $target with a
library, because libraries do not themselves produce code.


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