i. The Function of TCC

Like most compilation systems, the TDF C system consists of a number of components which transform or combine various types of input files into output files. TCC is designed to be a compilation manager, coordinating these various components into a coherent compilation scheme. It is also the normal user's interface to the TDF system on Unix machines: direct use of the various components of the system is not recommended. Therefore it is worth familiarising oneself with TCC before attempting to use the TDF system. To aid this familiarisation TCC has been designed to have the same look and feel as the system C compiler CC, but with added functionality to deal with the additional features of the TDF system. This does not mean that TCC can be necessarily regarded as a direct replacement for CC; the extra portability checks performed by the TDF system require the precise compilation environment to be specified to TCC in a way that it cannot be to CC.

Before discussing TCC itself in detail, it is necessary to understand the compilation strategy that it is designed to implement. This was discussed at length in [1], which readers are urged to consult before moving on to the details of this implementation.

There are two basic components to this paper. The first describes this compilation strategy and how it is implemented by TCC. The second is a Quick Reference section at the end of the paper, which is intended to be a TCC user's manual. For even quicker reference, TCC will print a list of all its command-line options (with a brief description) if invoked with the -query option.