| Define | description | 
| 
 | 
 | 
| FPC_LINK_DYNAMIC | Defined when the output will be linked dynamically. | 
|  | This is defined when using the -XD compiler switch. | 
| FPC_LINK_STATIC | Defined when the output will be linked statically. | 
|  | This is the default mode. | 
| FPC_LINK_SMART | Defined when the output will be smartlinked. | 
|  | This is defined when using the -XX compiler switch. | 
| FPC_PROFILE | Defined when profiling code is added to program. | 
|  | This is defined when using the -pg compiler switch. | 
| FPK | Always defined for Free Pascal. | 
| FPC | Always defined for Free Pascal. | 
| VER1 | Always defined for Free Pascal version 1.x.x. | 
| VER1_0 | Always defined for Free Pascal version 1.0.x. | 
| ENDIAN_LITTLE | Defined when the Free Pascal target is a little-endian processor | 
|  | (80x86, Alpha, ARM). | 
| ENDIAN_BIG | Defined when the Free Pascal target is a big-endian processor | 
|  | (680x0, PowerPC, SPARC, MIPS). | 
| FPC_DELPHI | Free Pascal is in Delphi mode, either using compiler switch -Sd or | 
|  | using the $MODE DELPHI directive. | 
| FPC_OBJFPC | Free Pascal is in Delphi mode, either using compiler switch -S2 or | 
|  | using the $MODE OBJFPC directive. | 
| FPC_TP | Free Pascal is in Turbo Pascal mode, either using compiler switch -So or | 
|  | using the $MODE TP directive. | 
| FPC_GPC | Free Pascal is in GNU Pascal mode, either using compiler switch -Sp or | 
|  | using the $MODE GPC directive. | 
|  |