Difference between revisions of "Binutils"
From Free Pascal wiki
Jump to navigationJump to search (Start of target list) |
m (Remove categories (defined in the template)) |
||
(12 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Binutils}} | ||
+ | |||
+ | == Overview == | ||
In most cases of cross-compiling from one platform to another you need cross binutils, i.e. assembler, linker, and so on. | 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/). | 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: | This is a quite typical configure for the binutils, in particular useful together with fpc: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | ./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 | ||
+ | </syntaxhighlight> | ||
− | + | for Unix/Linux-like targets, the options target and prefix are fairly straight forward, but not for others. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
List of options: | List of options: | ||
− | {| | + | {| class="wikitable sortable" |
− | !Platform | + | ! Platform !! Target !! Prefix |
− | !Target | ||
− | !Prefix | ||
|- | |- | ||
| Windows (32 bit) || i386-mingw32 || i386-win32 | | Windows (32 bit) || i386-mingw32 || i386-win32 | ||
Line 24: | Line 28: | ||
| Win CE (Intel) || i386-wince || i386-wince | | Win CE (Intel) || i386-wince || i386-wince | ||
|- | |- | ||
− | | Win CE (arm) || arm-wince || | + | | Win CE (arm) || arm-wince-pe || arm-wince |
+ | |- | ||
+ | | Win CE (i386) || i386-wince|| i386-wince | ||
+ | |- | ||
+ | | Solaris || i386-solaris || i386-solaris | ||
|- | |- | ||
− | | | + | | OS/2 || i386-os2-emx || i386-os2 |
|- | |- | ||
− | | Mac OS X ( | + | | go32v2 || i386-go32 || i386-go32v2 |
+ | |- | ||
+ | | i386-netbsd || i386-netbsdelf-gnu || i386-netbsd | ||
+ | |- | ||
+ | | Symbian OS || i386-? || i386-? | ||
+ | |- | ||
+ | | Mac OS X (i386) || i386-darwin || i386-darwin | ||
|- | |- | ||
| Mac OS X (PowerPC) || powerpc-darwin || powerpc-darwin | | Mac OS X (PowerPC) || powerpc-darwin || powerpc-darwin | ||
|- | |- | ||
− | | | + | | Mac OS X (x86-64) || x86_64-darwin || x86_64-darwin |
+ | |- | ||
+ | | iPhoneOS|| arm-darwin? || arm-darwin? | ||
+ | |- | ||
+ | | Amiga (classic) || m68k-amiga || m68k-amiga | ||
+ | |- | ||
+ | | Amiga OS || powerpc-? || powerpc-? | ||
+ | |- | ||
+ | | AROS (i386) || i386-aros || i386-aros | ||
+ | |- | ||
+ | | MorphOS || ppc-morphos || powerpc-morphos | ||
|- | |- | ||
− | | arm-gba || | + | | arm-gba || arm-thumb-elf || arm-gba |
|- | |- | ||
− | | arm-nds || | + | | arm-nds || arm-thumb-elf || arm-nds |
|- | |- | ||
− | | arm-embedded || | + | | arm-embedded || arm-elf || arm-embedded |
|- | |- | ||
| arm-symbian || ? || ? | | 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 | ||
+ | |- | ||
+ | | m68k-netbsd || m68k-netbsdelf || m68k-netbsd | ||
+ | |- | ||
+ | | m68k-embedded || m68k-elf || m68k-embedded | ||
+ | |- | ||
+ | | mipsel-linux || mipsel-linux || mipsel-linux | ||
+ | |- | ||
+ | | i8086-msdos || msdos-nasm and linker || 8086-msdos | ||
+ | |- | ||
+ | | x86_64-w64 || x86_64-w64-mingw32 || x86_64-w64 | ||
|- | |- | ||
|} | |} |
Latest revision as of 11:19, 3 May 2020
│
English (en) │
français (fr) │
magyar (hu) │
русский (ru) │
中文(中国大陆) (zh_CN) │
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-solaris | i386-solaris |
OS/2 | i386-os2-emx | i386-os2 |
go32v2 | i386-go32 | i386-go32v2 |
i386-netbsd | i386-netbsdelf-gnu | i386-netbsd |
Symbian OS | i386-? | i386-? |
Mac OS X (i386) | i386-darwin | i386-darwin |
Mac OS X (PowerPC) | powerpc-darwin | powerpc-darwin |
Mac OS X (x86-64) | x86_64-darwin | x86_64-darwin |
iPhoneOS | arm-darwin? | arm-darwin? |
Amiga (classic) | m68k-amiga | m68k-amiga |
Amiga OS | powerpc-? | powerpc-? |
AROS (i386) | i386-aros | i386-aros |
MorphOS | ppc-morphos | powerpc-morphos |
arm-gba | arm-thumb-elf | arm-gba |
arm-nds | arm-thumb-elf | arm-nds |
arm-embedded | arm-elf | 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 |
m68k-netbsd | m68k-netbsdelf | m68k-netbsd |
m68k-embedded | m68k-elf | m68k-embedded |
mipsel-linux | mipsel-linux | mipsel-linux |
i8086-msdos | msdos-nasm and linker | 8086-msdos |
x86_64-w64 | x86_64-w64-mingw32 | x86_64-w64 |