#### 6.3.1 Subdirectories of `gcc`

The `gcc` directory contains the following subdirectories:

`language`

  Subdirectories for various languages. Directories containing a file `config-lang.in` are language subdirectories. The contents of the subdirectories `c` (for C), `cp` (for C++), `objc` (for Objective-C), `objcp` (for Objective-C++), and `lto` (for LTO) are documented in this manual (see Passes and Files of the Compiler); those for other languages are not. See Anatomy of a Language Front End, for details of the files in these directories.

`common`

  Source files shared between the compiler drivers (such as `gcc`) and the compilers proper (such as `cc1`). If an architecture defines target hooks shared between those places, it also has a subdirectory in `common/config`. See Target Structure.

`config`

  Configuration files for supported architectures and operating systems. See Anatomy of a Target Back End, for details of the files in this directory.

`doc`

  Texinfo documentation for GCC, together with automatically generated man pages and support for converting the installation manual to HTML. See Documentation.

`ginclude`

  System headers installed by GCC, mainly those required by the C standard of freestanding implementations. See Headers Installed by GCC, for details of when these and other headers are installed.

`po`

  Message catalogs with translations of messages produced by GCC into various languages, `language.po`. This directory also contains `gcc.pot`, the template for these message catalogues, `exgettext`, a wrapper around `gettext` to extract the messages from the GCC sources and create `gcc.pot`, which is run by ‘`make gcc.pot`’, and `EXCLUDES`, a list of files from which messages should not be extracted.

`testsuite`

  The GCC testsuites (except for those for runtime libraries). See Testsuites.