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:
c++toolsContains the sources for the g++-mapper-server, a tool used with C++ modules.
configAutoconf macros and Makefile fragments used throughout the tree.
contribContributed scripts that may be found useful in conjunction with GCC.
fixincludesThe support for fixing system headers to work with GCC. See
fixincludes/READMEfor more information. The headers fixed by this mechanism are installed inlibsubdir/include-fixed. Along with those headers,README-fixincis also installed, aslibsubdir/include-fixed/README.gccThe 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.
gnattoolsSupport tools for GNAT.
gotoolsSupport tools for Go.
includeHeaders for the
libibertylibrary.intlGNU
libintl, from GNUgettext, for systems which do not include it inlibc.libadaThe Ada runtime library.
libatomicThe runtime support library for atomic operations (e.g. for
__syncand__atomic).libbacktraceA library that allows gcc to produce backtraces when it crashes.
libcc1A library that allows gdb to make use of the compiler.
libcodyA compiler dynamism library to allow communication between compilers and build systems, for purposes such as C++ modules.
libcppThe C preprocessor library.
libdecnumberThe Decimal Float support library.
libffiThe
libffilibrary, used as part of the Go runtime library.libgccThe GCC runtime library.
libgfortranThe Fortran runtime library.
libgoThe Go runtime library. The bulk of this library is mirrored from the master Go repository.
libgompThe GNU Offloading and Multi Processing Runtime Library.
libibertyThe
libibertylibrary, used for portability and for some generally useful data structures and algorithms. See Introduction, for more information about this library.libitmThe runtime support library for transactional memory.
libobjcThe Objective-C and Objective-C++ runtime library.
libphobosThe D standard and runtime library. The bulk of this library is mirrored from the master D repositories.
libquadmathThe runtime support library for quad-precision math operations.
libsanitizerLibraries for various sanitizers. The bulk of this directory is mirrored from the Google sanitizers repositories.
libsspThe Stack protector runtime library.
libstdc++-v3The C++ runtime library.
libvtvThe vtable verification library.
lto-pluginPlugin used by the linker if link-time optimizations are enabled.
maintainer-scriptsScripts used by the
gccadminaccount ongcc.gnu.org.zlibThe
zlibcompression library, used for compressing and uncompressing GCC’s intermediate language in LTO object files.
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.