Building the toolchain

Kai Ruottu kai.ruottu@wippies.com
Wed Jul 2 17:21:00 GMT 2008


Kai Ruottu wrote:

> You can try to report all these here mentioned "insanities", like the
> mess with the include/sys-include but I would be very pessimistic...
> What has been there since 1995 totally unfixed, cannot just be "fixed"
> until someone of the GCC developers understands that the 'sys-include'
> really isn't the install place for the target headers but the 'include'
> is that... Or that the normal "target headers" are called as "standard
> headers", not "system headers". A native C library installation doesn't
> usually have something like "/usr/sys-include" for the "system headers",
> although having this kind of header place is possible via defining the
> SYSTEM_INCLUDE_DIR in the target configure headers.  But in a cross GCC
> the equivalents to the "native" standard and system headers are always
> usable...

Some elaborations more...

The 'gcc-4.3.1/gcc/configure.ac' still has :

    CROSS_SYSTEM_HEADER_DIR='$(gcc_tooldir)/sys-include'

which sounds fully "sane", the 'sys-include' really is the place for the
(usually totally unexisting) "system headers", but the normal target
headers are "standard headers" and therefore belong to the 'include',
which is defined as "the equivalent to the '/usr/include' in a native
GCC". With a native GCC it generally doesn't matter if one talks about
"standard headers" or "system headers", there is only this one
'/usr/include'...  But in a cross GCC there are the '$tooldir/include'
and '$tooldir/sys-include' in the default header search paths, the
latter being always searched first....

So the very simple fix would be to change this being :

    CROSS_SYSTEM_HEADER_DIR='$(gcc_tooldir)/include'

by extending the "who cares about those headers names" attitude to the
crosscompilers too...




More information about the Newlib mailing list