Binutils

From Lazarus wiki
Revision as of 12:32, 8 November 2014 by BigChimp (talk | contribs)
Jump to navigationJump to search

Template:Translate

Overview

In most cases of cross-compiling from one platform to another you need cross binutils, i.e. assembler, linker, and so on.

Building your own binutils

If they are not readily available for your combination of host and target platform, you can compile them from the sources from their home page (http://www.gnu.org/software/binutils/).

This is a quite typical configure for the binutils, in particular useful together with fpc:

./configure \
--target=arm-linux \
--prefix=/usr/local/lib/arm-linux \
--bindir=/usr/local/bin --mandir=/usr/local/share/man --infodir=/usr/local/share/info \
--program-prefix=arm-linux \
--disable-werror

for Unix/Linux-like targets, the options target and prefix are fairly straight forward, but not for others.

List of options:

Platform Target Prefix
Windows (32 bit) i386-mingw32 i386-win32
Win CE (Intel) i386-wince i386-wince
Win CE (arm) arm-wince-pe arm-wince
Win CE (i386) i386-wince i386-wince
Solaris i386-? i386-?
OS/2 i386-? i386-?
Symbian OS i386-? i386-?
Mac OS X (Intel) i386-darwin i386-darwin
Mac OS X (PowerPC) powerpc-darwin powerpc-darwin
iPhoneOS arm-darwin? arm-darwin?
Amiga OS powerpc-? powerpc-?
MorphOS powerpc-? powerpc-?
arm-gba ? arm-gba
arm-nds ? arm-nds
arm-embedded ? ?
arm-symbian ? ?
arm-PalmOS ? ?
arm-linux arm-linux arm-linux
sparc-linux sparc-linux sparc-linux
sparc-solaris sparc-solaris sparc-solaris
m68k-linux m68k-linux m68k-linux
mipsel-linux mipsel-linux mipsel-linux
i8086-msdos msdos-nasm and linker 8086-msdos