Subsections

- 1 The compiler source tree
- 2 The RTL source tree

#
B. Compiler and RTL source tree structure

# 1 The compiler source tree

All compiler source files are in several directories, normally the non-processor specific parts are in source/compiler. Subdirectories are present for each of the supported processors and target operating systems.

For more informations about the structure of the compiler have a look at the Compiler Manual which contains also some informations about compiler internals.

The compiler directory also contains a subdirectory `utils`, which contains mainly the utilities for creation and maintainance of the message files.

# 2 The RTL source tree

The RTL source tree is divided in many subdirectories, but is very structured and easy to understand. It mainly consists of three parts:

1. A OS-dependent directory. This contains the files that are different for each operating system. When compiling the RTL, you should do it here. The following directories exist:
   - atari for the ATARI.
   - amiga for the AMIGA.
   - beos for . It has one subdirectory for each of the supported processors.
   - freebsd for the FREEBSD platform.
   - go32v1 For DOS, using the GO32v1 extender. Not maintained any more.
   - go32v2 For DOS, using the GO32v2 extender.
   - linux for LINUX platforms. It has one subdirectory for each of the supported processors.
   - netbsd for platforms. It has one subdirectory for each of the supported processors.
   - palmos for the Dragonball processor based platform.
   - os2 for OS/2.
   - sunos for the platform. It has one subdirectory for each of the supported processors.
   - qnx for the .
   - win32 for Win32 platforms.
   - posix for posix interfaces (used for easier porting).
   - unix for unix common interfaces (used for easier porting).
2. A processor dependent directory. This contains files that are system independent, but processor dependent. It contains mostly optimized routines for a specific processor. The following directories exist:
   - i386 for the Intel 80x86 series of processors.
   - m68k for the Motorola 680x0 series of processors.
3. An OS-independent and Processor independent directory: inc. This contains complete units, and include files containing interface parts of units as well as generic versions of processor specific routines.