Cross-compilers - Free Pascal

Free Pascal

Free Pascal was developed from the beginning as a cross compiler. The compiler executable (ppcXXX where XXX is a target architecture) is capable of producing executables (or just object files if no internal linker exists, or even just assembly files if no internal assembler exists) for all OS of the same architecture. For example, ppc386 is capable of producing executables for i386-linux, i386-win32, i386-go32v2 (DOS) and all other OSes (see ). For compiling to another architecture, however, a cross architecture version of the compiler must be built first. The resulting compiler executable would have additional 'ross' before the target architecture in its name. i.e. if the compiler is built to target x64, then the executable would be ppcrossx64.

To compile for a chosen architecture-OS, the compiler switch (for the compiler driver fpc) -P and -T can be used. This is also done when cross compiling the compiler itself, but is set via make option CPU_TARGET and OS_TARGET. GNU assembler and linker for the target platform is required if Free Pascal doesn't yet have internal version of the tools for the target platform.

Read more about this topic:  Cross-compilers

Famous quotes containing the words free and/or pascal:

    We are all bound to the throne of the Supreme Being by a flexible chain which restrains without enslaving us. The most wonderful aspect of the universal scheme of things is the action of free beings under divine guidance.
    Joseph De Maistre (1753–1821)

    Can anything be more ridiculous than that a man should have the right to kill me because he lives on the other side of the water, and because his ruler has a quarrel with mine, though I have none with him?
    —Blaise Pascal (1623–1662)