This is the mail archive of the gcc-bugs@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]

[Bug bootstrap/14316] collect2 doesnt build on windows hosts


------- Additional Comments From eric at ecentral dot com  2004-03-20 00:14 -------
Subject: Re:  collect2 doesnt build on windows hosts

On 19 Mar 2004 at 17:50, Ian Lance Taylor wrote:

> > How does one determine if there are header files to fix for a particular host
> > and target? (and/or where does gcc determine this?)
> 
> To be pedantic, the host, as such, is irrelevant.  The header files
> are for the target.  The fixincl program will run on the build system.
> 
> The fixincl program will be run on the header files in the directories
> named by the Makefile variables SYSTEM_HEADER_DIR and
> OTHER_FIXINCLUDES_DIRS.
> 
> On a native configuration, where host == target, SYSTEM_HEADER_DIR is
> /usr/include.
> 
> On a cross configuration, where host != target:
>   * if you configure with --with-sysroot, SYSTEM_HEADER_DIR is
>     usr/include under the specified sysroot.
>   * if you do not configure with --with-sysroot, SYSTEM_HEADER_DIR is,
>     more or less, $(prefix)/$(target)/sys-include, or in other
>     words something like /usr/local/avr/sys-include
> 
> I think OTHER_FIXINCLUDES_DIRS is always empty, but I suppose you
> might specify it on the command line when you run make.

Thanks for the great explanation! Is this also somewhere in the documentation 
(user or internals)? if not, it should be...

 
> You can use --with-headers when you run configure to name a directory
> containing header files for your target.  This is only supported when
> configuring a cross-compiler.  If you do this, the configure process
> will copy the header files to the $(target)/sys-include directory, and
> later on fixincl will be run on them.

Ok.
>From the configure page 
<http://gcc.gnu.org/install/configure.html>:

--without-headers 
Tells GCC not use any target headers from a libc when building a cross 
compiler. When crossing to GNU/Linux, you need the headers so GCC can build the 
exception handling for libgcc. See _CrossGCC_ for more information on this 
option. 

The "_CrossGCC_" above is a link to the CrossGCC FAQ: 
<http://www.objsw.com/CrossGCC/>.

The CrossGCC FAQ says NOTHING (that I could find) about --without-headers.

So if I specify --without-headers, should GCC even be *building* fixincl? It 
currently does for target = m68k | avr.

OT: The CrossGCC FAQ hasn't been updated since December 3, 1999, and contains 
outdated and incomplete information.

Thanks,
Eric





-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14316


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