GCC_INCLUDE_DIR means the same thing for native and cross. It is
where GNU CC stores its private include files, and also where GNU CC
stores the fixed include files. A cross compiled GNU CC runs
fixincludes on the header files in $(tooldir)/include.
(If the cross compilation header files need to be fixed, they must be
installed before GNU CC is built. If the cross compilation header files
are already suitable for ISO C and GNU CC, nothing special need be
done).
GPLUSPLUS_INCLUDE_DIR means the same thing for native and cross. It
is where g++ looks first for header files. The C++ library
installs only target independent header files in that directory.
LOCAL_INCLUDE_DIR is used only by native compilers. GNU CC
doesn't install anything there. It is normally
/usr/local/include. This is where local additions to a packaged
system should place header files.
CROSS_INCLUDE_DIR is used only by cross compilers. GNU CC
doesn't install anything there.
TOOL_INCLUDE_DIR is used for both native and cross compilers. It
is the place for other packages to install header files that GNU CC will
use. For a cross-compiler, this is the equivalent of
/usr/include. When you build a cross-compiler,
fixincludes processes any header files in this directory.