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++tools
Contains the sources for the g++-mapper-server, a tool used with C++ modules.
config
Autoconf macros and Makefile fragments used throughout the tree.
contrib
Contributed scripts that may be found useful in conjunction with GCC.
fixincludes
The support for fixing system headers to work with GCC. See
fixincludes/README
for more information. The headers fixed by this mechanism are installed inlibsubdir/include-fixed
. Along with those headers,README-fixinc
is also installed, aslibsubdir/include-fixed/README
.gcc
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.
gnattools
Support tools for GNAT.
gotools
Support tools for Go.
include
Headers for the
libiberty
library.intl
GNU
libintl
, from GNUgettext
, for systems which do not include it inlibc
.libada
The Ada runtime library.
libatomic
The runtime support library for atomic operations (e.g. for
__sync
and__atomic
).libbacktrace
A library that allows gcc to produce backtraces when it crashes.
libcc1
A library that allows gdb to make use of the compiler.
libcody
A compiler dynamism library to allow communication between compilers and build systems, for purposes such as C++ modules.
libcpp
The C preprocessor library.
libdecnumber
The Decimal Float support library.
libffi
The
libffi
library, used as part of the Go runtime library.libgcc
The GCC runtime library.
libgfortran
The Fortran runtime library.
libgo
The Go runtime library. The bulk of this library is mirrored from the master Go repository.
libgomp
The GNU Offloading and Multi Processing Runtime Library.
libiberty
The
libiberty
library, used for portability and for some generally useful data structures and algorithms. See Introduction, for more information about this library.libitm
The runtime support library for transactional memory.
libobjc
The Objective-C and Objective-C++ runtime library.
libphobos
The D standard and runtime library. The bulk of this library is mirrored from the master D repositories.
libquadmath
The runtime support library for quad-precision math operations.
libsanitizer
Libraries for various sanitizers. The bulk of this directory is mirrored from the Google sanitizers repositories.
libssp
The Stack protector runtime library.
libstdc++-v3
The C++ runtime library.
libvtv
The vtable verification library.
lto-plugin
Plugin used by the linker if link-time optimizations are enabled.
maintainer-scripts
Scripts used by the
gccadmin
account ongcc.gnu.org
.zlib
The
zlib
compression 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.