Difference between revisions of "Cross compilation"
From Organic Design wiki
m |
|||
Line 14: | Line 14: | ||
*libraries are required to be present that are compatible with the ''target'' system. | *libraries are required to be present that are compatible with the ''target'' system. | ||
− | + | =See also= | |
*[http://buildroot.uclibc.org buildroot] | *[http://buildroot.uclibc.org buildroot] | ||
*Wikipedia: [[w:Cross-compiling|Cross-compiling]] | *Wikipedia: [[w:Cross-compiling|Cross-compiling]] |
Revision as of 02:05, 12 March 2007
Put simply, a compiler takes source code as input and produces a binary executable as output. Cross compilation refers to the case where the binary code produced is designed to execute on a different machine architecture than the host system.
For example: Using a C compiler on a PPC system to produce code to run on an Intel.
A cross-compilation environment (refered to as the toolchain) provides a number of advantages, even when the host and target architectures are the same.
- Strict control of the version on cc, libc and binutils used
- The build process can be run as a non-root user on the host unix system, preventing damage to the host system if the toolchain misbehaves
Host enviroment
- Enviroment variables affecting cross toolchains
- a version of gcc and binutils that supports cross compilation is required in the host enviroment
- headers to link against are required
- libraries are required to be present that are compatible with the target system.