]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst
sphinx: add missing trailing newline
[thirdparty/gcc.git] / gcc / doc / gccint / source-tree-structure-and-build-system / top-level-source-directory.rst
CommitLineData
c63539ff
ML
1..
2 Copyright 1988-2022 Free Software Foundation, Inc.
3 This is part of the GCC manual.
4 For copying conditions, see the copyright.rst file.
5
6.. _top-level:
7
8Top Level Source Directory
9**************************
10
11The top level source directory in a GCC distribution contains several
12files and directories that are shared with other software
13distributions such as that of GNU Binutils. It also contains several
14subdirectories that contain parts of GCC and its runtime libraries:
15
16:samp:`c++tools`
17 Contains the sources for the g++-mapper-server, a tool used with
18 C++ modules.
19
20:samp:`config`
21 Autoconf macros and Makefile fragments used throughout the tree.
22
23:samp:`contrib`
24 Contributed scripts that may be found useful in conjunction with GCC.
25
26:samp:`fixincludes`
27 The support for fixing system headers to work with GCC. See
28 :samp:`fixincludes/README` for more information. The headers fixed by
29 this mechanism are installed in :samp:`{libsubdir}/include-fixed`.
30 Along with those headers, :samp:`README-fixinc` is also installed, as
31 :samp:`{libsubdir}/include-fixed/README`.
32
33:samp:`gcc`
34 The main sources of GCC itself (except for runtime libraries),
35 including optimizers, support for different target architectures,
36 language front ends, and testsuites. See :ref:`gcc-directory`, for details.
37
38:samp:`gnattools`
39 Support tools for GNAT.
40
41:samp:`gotools`
42 Support tools for Go.
43
44:samp:`include`
45 Headers for the ``libiberty`` library.
46
47:samp:`intl`
48 GNU ``libintl``, from GNU ``gettext``, for systems which do not
49 include it in ``libc``.
50
51:samp:`libada`
52 The Ada runtime library.
53
54:samp:`libatomic`
55 The runtime support library for atomic operations (e.g. for ``__sync``
56 and ``__atomic``).
57
58:samp:`libbacktrace`
59 A library that allows gcc to produce backtraces when it crashes.
60
61:samp:`libcc1`
62 A library that allows gdb to make use of the compiler.
63
64:samp:`libcody`
65 A compiler dynamism library to allow communication between compilers and
66 build systems, for purposes such as C++ modules.
67
68:samp:`libcpp`
69 The C preprocessor library.
70
71:samp:`libdecnumber`
72 The Decimal Float support library.
73
74:samp:`libffi`
75 The ``libffi`` library, used as part of the Go runtime library.
76
77:samp:`libgcc`
78 The GCC runtime library.
79
80:samp:`libgfortran`
81 The Fortran runtime library.
82
83:samp:`libgo`
84 The Go runtime library. The bulk of this library is mirrored from the
85 `master Go repository <https://github.com/golang/go>`_.
86
87:samp:`libgomp`
88 The GNU Offloading and Multi Processing Runtime Library.
89
90:samp:`libiberty`
91 The ``libiberty`` library, used for portability and for some
92 generally useful data structures and algorithms. See :ref:`libiberty:top`, for more information
93 about this library.
94
95:samp:`libitm`
96 The runtime support library for transactional memory.
97
98:samp:`libobjc`
99 The Objective-C and Objective-C++ runtime library.
100
101:samp:`libphobos`
102 The D standard and runtime library. The bulk of this library is mirrored
103 from the `master D repositories <https://github.com/dlang>`_.
104
105:samp:`libquadmath`
106 The runtime support library for quad-precision math operations.
107
108:samp:`libsanitizer`
109 Libraries for various sanitizers. The bulk of this directory is mirrored
110 from the `Google sanitizers
111 repositories <https://github.com/google/sanitizers>`_.
112
113:samp:`libssp`
114 The Stack protector runtime library.
115
116:samp:`libstdc++-v3`
117 The C++ runtime library.
118
119:samp:`libvtv`
120 The vtable verification library.
121
122:samp:`lto-plugin`
123 Plugin used by the linker if link-time optimizations are enabled.
124
125:samp:`maintainer-scripts`
126 Scripts used by the ``gccadmin`` account on ``gcc.gnu.org``.
127
128:samp:`zlib`
129 The ``zlib`` compression library, used for compressing and
130 uncompressing GCC's intermediate language in LTO object files.
131
132The build system in the top level directory, including how recursion
133into subdirectories works and how building runtime libraries for
134multilibs is handled, is documented in a separate manual, included
3ed1b4ce 135with GNU Binutils.