@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.

@node Header Dirs
@chapter Standard Header File Directories

@code{GCC_INCLUDE_DIR} means the same thing for native and cross.  It is
where GCC stores its private include files, and also where GCC
stores the fixed include files.  A cross compiled GCC runs
@code{fixincludes} on the header files in @file{$(tooldir)/include}.
(If the cross compilation header files need to be fixed, they must be
installed before GCC is built.  If the cross compilation header files
are already suitable for GCC, nothing special need be done).

@code{GPLUSPLUS_INCLUDE_DIR} means the same thing for native and cross.  It
is where @command{g++} looks first for header files.  The C++ library
installs only target independent header files in that directory.

@code{LOCAL_INCLUDE_DIR} is used only by native compilers.  GCC
doesn't install anything there.  It is normally
@file{/usr/local/include}.  This is where local additions to a packaged
system should place header files.

@code{CROSS_INCLUDE_DIR} is used only by cross compilers.  GCC
doesn't install anything there.

@code{TOOL_INCLUDE_DIR} is used for both native and cross compilers.  It
is the place for other packages to install header files that GCC will
use.  For a cross-compiler, this is the equivalent of
@file{/usr/include}.  When you build a cross-compiler,
@code{fixincludes} processes any header files in this directory.
