]>
Commit | Line | Data |
---|---|---|
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 | ||
8 | Top Level Source Directory | |
9 | ************************** | |
10 | ||
11 | The top level source directory in a GCC distribution contains several | |
12 | files and directories that are shared with other software | |
13 | distributions such as that of GNU Binutils. It also contains several | |
14 | subdirectories 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 | ||
132 | The build system in the top level directory, including how recursion | |
133 | into subdirectories works and how building runtime libraries for | |
134 | multilibs is handled, is documented in a separate manual, included | |
3ed1b4ce | 135 | with GNU Binutils. |