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:

    “At the moment when a man openly makes known his difference of opinion from a well-known party leader, the whole world thinks that he must be angry with the latter. Sometimes, however, he is just on the point of ceasing to be angry with him. He ventures to put himself on the same plane as his opponent, and is free from the tortures of suppressed envy.”
    —Friedrich Nietzsche (1844–1900)

    “Let us imagine a number of men in chains and all condemned to death, where some are killed each day in the sight of the others, and those who remain see their own fate in that of their fellows and wait their turn, looking at each other sorrowfully and without hope. It is an image of the condition of man.”
    —Blaise Pascal (1623–1662)