Skip to content

mikpe/buildcross

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

buildcross

buildcross - a tool for building GCC cross toolchains

Usage:

buildcross [options] [<TARGET>] [<CROSS_DIR>]

Options:

--cross-dir=<CROSS_DIR> | -c <CROSS_DIR>
	Place resulting cross-compiler in <CROSS_DIR>.
	Default: <CWD>/cross-<TARGET>

--downloads-dir=<DOWNLOADS_DIR> | -d <DOWNLOADS_DIR>
	Place downloaded sources in <DOWNLOADS_DIR>.
	Default: <CWD>/downloads

--host-tools-dir=<HOST_TOOLS_DIR> | -h <HOST_TOOLS_DIR>
	Place built host tools in <HOST_TOOLS_DIR>.
	Default: <CWD>/host-tools

-j<N>
	Pass -j<N> to make. Default: empty

--sources-dir=<SOURCES_DIR> | -s <SOURCES_DIR>
	Place unpacked source archives in <SOURCES_DIR>.
	Default: <CWD>/sources

--target=<TARGET> | -t <TARGET>
	Build the indicated <TARGET>. If this option is
	not present then <TARGET> must be present as the
	first non-option parameter.

Supported targets and resulting toolchains:

Target Toolchain
6502 6502 (binutils from cc65, libtinyc)
a29k a29k-unknown-coff (no libc) 1
aarch64 aarch64-unknown-linux-gnu
alpha alpha-unknown-linux-gnu
arc arc-unknown-linux-gnu
armv7l armv7l-unknown-linux-gnueabi
avr avr-unknown-elf (no libc)
avr32 avr32-unknown-linux-uclibc 2
bfin bfin-unknown-linux-uclibc
bpf bpf-unknown-none (no libc)
c6x c6x-unknown-uclinux
cr16 cr16-unknown-elf
cris crisv32-unknown-linux-uclibc
crx crx-unknown-elf (no libc) 2
csky csky-unknown-linux-gnu (only little-endian)
d10v d10v-unknown-elf 1
d30v d30v-unknown-elf (no libc) 3
epiphany epiphany-unknown-elf
fr30 fr30-unknown-elf
frv frv-unknown-linux-uclibc
ft32 ft32-unknown-elf
h8300 h8300-unknown-linux-uclibc
hexagon hexagon-unknown-linux-gnu 1
hppa hppa-unknown-linux-gnu (no -m64 support)
i860 i860-stardent-sysv4 (no libc) 1
i960 i960-unknown-elf with uclinux and uclibc 1
ia64 ia64-unknown-linux-gnu
ip2k ip2k-unknown-elf (no libc) 3
iq2000 iq2000-unknown-elf
kvx kvx-unknown-uclibc
lm32 lm32-uclinux-uclibc
loongarch64 loongarch64-unknown-linux-gnu
m1750 m1750-coff (custom libc) 1
m32c m32c-unknown-elf 2
m32r m32r-unknown-elf
m6809 m6809-unknown-none with newlib 2
m68hc11 m68hc11-unknown-elf 2
m68k m68k-unknown-linux-gnu
m68k-elf m68k-unknown-elf
m68k-uclibc m68k-unknown-linux-uclibc
m88k m88k-unknown-openbsd (elf, no libc) 2
maxq maxq-unknown-coff (no libc) 2
mcore mcore-unknown-elf
mep mep-unknown-elf (no libc) 2
metag metag-unknown-linux-uclibc 2
microblaze microblaze-unknown-linux-gnu
mips64 mips64-unknown-linux-gnu with -mabi=64, -mabi=n32, and -mabi=32 support
mmix mmix-knuth-mmixware with newlib
mn10300 mn10300-unknown-elf
moxie moxie-unknown-elf
msp430 msp430-unknown-elf
mt mt-unknown-elf 1
nds32 nds32le-unknown-linux-gnu
nios2 nios2-unknown-linux-gnu
ns32k ns32k-unknown-netbsd (no libc) 3
nvptx nvptx-none with newlib
or1k or1k-unknown-linux-gnu
pdp11 pdp11-unknown-aout (no libc)
pj pjl-unknown-elf (no libc) 1
ppc64 ppc64-unknown-linux-gnu with -m64 and -m32 support
ppc64le ppc64le-unknown-linux-gnu (no -m32 support)
pru pru-unknown-elf
rl78 rl78-unknown-elf
riscv64 riscv64-unknown-linux-gnu (no 32-bit support)
rx rx-unknown-elf
s390x s390x-unknown-linux-gnu with -m64 and -m31 support
score score-unknown-elf (no libc) 2
sh4 sh4-unknown-linux-gnu
sparc64 sparc64-unknown-linux-gnu with -m64 and -m32 support
tilegx tilegx-unknown-linux-gnu
tms9900 tms9900-unknown-elf (no libc) 2
tricore tricore-unknown-elf
ubicom32 ubicom32-linux-uclibc 2
v850 v850e-uclinux-uclibc
vax vax-unknown-linux (no libc or kernel headers)
visium visium-unknown-elf
x86_64 x86_64-unknown-linux-gnu with -m64, -mx32, and -m32 support
x86_64-mingw64 x86_64-w64-mingw32 with -m64 and -m32 support
x86_64-musl x86_64-unknown-linux-musl (only -m64)
x86_64-uclibc x86_64-unknown-linux-uclibc (only -m64)
xc16x xc16x-unknown-elf 2
xstormy16 xstormy16-unknown-elf
xtensa xtensa-unknown-linux-uclibc
z8k z8k-unknown-coff with newlib 1
zpu zpu-unknown-elf 2

All toolchains include the libc indicated by their target triplets, elf ones with newlib, unless otherwise noted.

Notes:

Footnotes

  1. In addition to 3, requires a 32-bit build. See the code for details. 2 3 4 5 6 7 8 9

  2. Requires an old version of the host GCC. See the code for details. 2 3 4 5 6 7 8 9 10 11 12 13 14 15

  3. In addition to 2, requires a special build procedure. See the code for details. 2 3 4

About

a tool for building GCC cross toolchains

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages