6.2 Top Level Source Directory
The top level source directory in a GCC distribution contains several files and directories that are shared with other software distributions such as that of GNU Binutils. It also contains several subdirectories that contain parts of GCC and its runtime libraries:
- The Boehm conservative garbage collector, used as part of the Java
- Contributed scripts that may be found useful in conjunction with GCC.
One of these, contrib/texi2pod.pl, is used to generate man
pages from Texinfo manuals as part of the GCC build process.
- An implementation of the jar command, used with the Java
- The support for fixing system headers to work with GCC. See
fixincludes/README for more information. The headers fixed by
this mechanism are installed in libsubdir/include-fixed.
Along with those headers, README-fixinc is also installed, as
- The main sources of GCC itself (except for runtime libraries),
including optimizers, support for different target architectures,
language front ends, and testsuites. See The gcc Subdirectory, for details.
- Headers for the
libintl, from GNU
gettext, for systems which do not include it in libc.
- The Ada runtime library.
- The C preprocessor library.
- The Fortran runtime library.
libffilibrary, used as part of the Java runtime library.
libibertylibrary, used for portability and for some generally useful data structures and algorithms. See Introduction (gnu libiberty), for more information about this library.
- The Java runtime library.
libmudflaplibrary, used for instrumenting pointer and array dereferencing operations.
- The Objective-C and Objective-C++ runtime library.
- The C++ runtime library.
- Scripts used by the
zlibcompression library, used by the Java front end and as part of the Java runtime library.
The build system in the top level directory, including how recursion into subdirectories works and how building runtime libraries for multilibs is handled, is documented in a separate manual, included with GNU Binutils. See GNU configure and build system (The GNU configure and build system), for details.