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

See the CrossGCC FAQ for lots more information.


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

Re: Installation Problems


David Korn wrote:
> 
>   Yep, it didn't find your target headers.  Contrary to what the docs
> tend to say, you should put them in $prefix/$target/sys-include, rather
> than $prefix/$target/include, or you can just tell the compiler where they
> are at configure time by adding the option --with-headers=/path/to/headers
> to your configure command.

 Sigh, I have tried to explain that the 'sys-include' is for the 3rd-party
headers used with a cross-compiler (the 'SYSTEM_INCLUDE_DIR'), while the
'include' is for the standard C headers (the 'STANDARD_INCLUDE_DIR').
The system-dependent headers, ie. specific for just the one PC, should be
put into the 'sys-include'.

 SYSTEM_INCLUDE_DIR
   Define this macro as a C string constant if you wish to specify a system-
   specific directory to search for header files before the standard directory.
   SYSTEM_INCLUDE_DIR comes before STANDARD_INCLUDE_DIR in the search order.

 The '$prefix/$target/sys-include' is the equivalent of '$local_prefix/include'
in a native compiler (normally '/usr/local/include'), while the
$prefix/$target/include' is the equivalent of '/usr/include'.

 Someone of the FSF folks has misunderstood the 'system' really badly and
caused this whole mess. Therefore instructions to point to the standard target
C headers using the '--with-headers=...' should be taken away from all the
FAQs and docs because this causes the standard C headers to be copied into
the 'sys-include'.

 The pre-creation of the '$prefix/lib/gcc-lib/$target/2.95.2' is a simple
workaround for the well-known gcc-2.95.2 bug, which prevents the target stuff
being found in their normal places. The soon appearing gcc-3.0 will have
this bug fixed, also the current GCC snapshots have fixed it, using more than
only the '-B$(build_tooldir)/bin/' in the CFLAGS_FOR_TARGET (gcc-2.95.2). The
'$(build_tooldir)' is the same as '$prefix/$target'.

Cheers, Kai



------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


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