# Blackfin
source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in"
+# MIPS (use codesourcery toolchain by default)
+source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in"
+
config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
bool "Arago ARMv7 2011.09"
depends on BR2_arm
This toolchain uses software-floating point.
-config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
- bool "Sourcery CodeBench MIPS 2016.05"
- depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
- depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
- # Unsupported MIPS cores
- depends on !BR2_mips_interaptiv
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
- depends on !BR2_MIPS_NABI32
- depends on !BR2_STATIC_LIBS
- select BR2_TOOLCHAIN_EXTERNAL_GLIBC
- select BR2_TOOLCHAIN_HAS_SSP
- select BR2_TOOLCHAIN_HAS_NATIVE_RPC
- select BR2_INSTALL_LIBSTDCPP
- select BR2_HOSTARCH_NEEDS_IA32_LIBS
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
- select BR2_TOOLCHAIN_GCC_AT_LEAST_5
- help
- Sourcery CodeBench toolchain for the MIPS architecture, from
- Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
- 2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It
- has support for the following variants:
- - MIPS32r2 - Big-Endian, 2008 NaN, O32
- Select MIPS (big endian) core
- Disable BR2_SOFT_FLOAT
- Set BR2_TARGET_OPTIMIZATION to -mnan=2008
- - MIPS32r2 - Big-Endian, O32
- Select MIPS (big endian) core
- Disable BR2_SOFT_FLOAT
- - MIPS32r2 - Big-Endian, O32, MIPS16
- Select MIPS (big endian) core
- Disable BR2_SOFT_FLOAT
- Set BR2_TARGET_OPTIMIZATION to -mips16
- - MIPS32r2 - Big-Endian, Soft-Float, O32
- Select MIPS (big endian) core
- Select BR2_SOFT_FLOAT
- - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
- Select MIPS (big endian) core
- Select BR2_SOFT_FLOAT
- Set BR2_TARGET_OPTIMIZATION to -mips16
- - MIPS32r2 - Little-Endian, 2008 NaN, O32
- Select MIPS (little endian) core
- Disable BR2_SOFT_FLOAT
- Set BR2_TARGET_OPTIMIZATION to -mnan=2008
- - MIPS32r2 - Little-Endian, O32
- Select MIPS (little endian) core
- Disable BR2_SOFT_FLOAT
- - MIPS32r2 - Little-Endian, O32, MIPS16
- Select MIPS (little endian) core
- Disable BR2_SOFT_FLOAT
- Set BR2_TARGET_OPTIMIZATION to -mips16
- - MIPS32r2 - Little-Endian, Soft-Float, O32
- Select MIPS (little endian) core
- Select BR2_SOFT_FLOAT
- - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
- Select MIPS (little endian) core
- Select BR2_SOFT_FLOAT
- Set BR2_TARGET_OPTIMIZATION to -mips16
- - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
- Select MIPS (little endian) core
- Select BR2_SOFT_FLOAT
- Set BR2_TARGET_OPTIMIZATION to -mmicromips
- - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
- Not usable in Buildroot yet.
- - MIPS32r2 - uClibc, Big-Endian, O32
- Not usable in Buildroot yet.
- - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
- Not usable in Buildroot yet.
- - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
- Not usable in Buildroot yet.
- - MIPS32r2 - uClibc, Little-Endian, O32
- Not usable in Buildroot yet.
- - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
- Not usable in Buildroot yet.
- - MIPS64r2 - Big-Endian, N64
- Select MIPS64 (big endian) core
- Select the n64 ABI
- Disable BR2_SOFT_FLOAT
- - MIPS64r2 - Big-Endian, Soft-Float, N64
- Select MIPS64 (big endian) core
- Select the n64 ABI
- Select BR2_SOFT_FLOAT
- - MIPS64r2 - Little-Endian, N64
- Select MIPS64 (little endian) core
- Select the n64 ABI
- Disable BR2_SOFT_FLOAT
- - MIPS64r2 - Little-Endian, Soft-Float, N64
- Select MIPS64 (little endian) core
- Select the n64 ABI
- Select BR2_SOFT_FLOAT
-
-comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
- depends on BR2_MIPS_NABI32
- depends on !BR2_STATIC_LIBS
-
config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
bool "Codescape IMG GNU Linux Toolchain 2016.05"
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
- default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
# Blackfin
source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options"
+# MIPS
+source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options"
+
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
choice
--- /dev/null
+config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
+ bool "Sourcery CodeBench MIPS 2016.05"
+ depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
+ depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
+ # Unsupported MIPS cores
+ depends on !BR2_mips_interaptiv
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ depends on !BR2_MIPS_NABI32
+ depends on !BR2_STATIC_LIBS
+ select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_TOOLCHAIN_HAS_SSP
+ select BR2_TOOLCHAIN_HAS_NATIVE_RPC
+ select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
+ select BR2_TOOLCHAIN_GCC_AT_LEAST_5
+ help
+ Sourcery CodeBench toolchain for the MIPS architecture, from
+ Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
+ 2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It
+ has support for the following variants:
+ - MIPS32r2 - Big-Endian, 2008 NaN, O32
+ Select MIPS (big endian) core
+ Disable BR2_SOFT_FLOAT
+ Set BR2_TARGET_OPTIMIZATION to -mnan=2008
+ - MIPS32r2 - Big-Endian, O32
+ Select MIPS (big endian) core
+ Disable BR2_SOFT_FLOAT
+ - MIPS32r2 - Big-Endian, O32, MIPS16
+ Select MIPS (big endian) core
+ Disable BR2_SOFT_FLOAT
+ Set BR2_TARGET_OPTIMIZATION to -mips16
+ - MIPS32r2 - Big-Endian, Soft-Float, O32
+ Select MIPS (big endian) core
+ Select BR2_SOFT_FLOAT
+ - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
+ Select MIPS (big endian) core
+ Select BR2_SOFT_FLOAT
+ Set BR2_TARGET_OPTIMIZATION to -mips16
+ - MIPS32r2 - Little-Endian, 2008 NaN, O32
+ Select MIPS (little endian) core
+ Disable BR2_SOFT_FLOAT
+ Set BR2_TARGET_OPTIMIZATION to -mnan=2008
+ - MIPS32r2 - Little-Endian, O32
+ Select MIPS (little endian) core
+ Disable BR2_SOFT_FLOAT
+ - MIPS32r2 - Little-Endian, O32, MIPS16
+ Select MIPS (little endian) core
+ Disable BR2_SOFT_FLOAT
+ Set BR2_TARGET_OPTIMIZATION to -mips16
+ - MIPS32r2 - Little-Endian, Soft-Float, O32
+ Select MIPS (little endian) core
+ Select BR2_SOFT_FLOAT
+ - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
+ Select MIPS (little endian) core
+ Select BR2_SOFT_FLOAT
+ Set BR2_TARGET_OPTIMIZATION to -mips16
+ - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
+ Select MIPS (little endian) core
+ Select BR2_SOFT_FLOAT
+ Set BR2_TARGET_OPTIMIZATION to -mmicromips
+ - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
+ Not usable in Buildroot yet.
+ - MIPS32r2 - uClibc, Big-Endian, O32
+ Not usable in Buildroot yet.
+ - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
+ Not usable in Buildroot yet.
+ - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
+ Not usable in Buildroot yet.
+ - MIPS32r2 - uClibc, Little-Endian, O32
+ Not usable in Buildroot yet.
+ - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
+ Not usable in Buildroot yet.
+ - MIPS64r2 - Big-Endian, N64
+ Select MIPS64 (big endian) core
+ Select the n64 ABI
+ Disable BR2_SOFT_FLOAT
+ - MIPS64r2 - Big-Endian, Soft-Float, N64
+ Select MIPS64 (big endian) core
+ Select the n64 ABI
+ Select BR2_SOFT_FLOAT
+ - MIPS64r2 - Little-Endian, N64
+ Select MIPS64 (little endian) core
+ Select the n64 ABI
+ Disable BR2_SOFT_FLOAT
+ - MIPS64r2 - Little-Endian, Soft-Float, N64
+ Select MIPS64 (little endian) core
+ Select the n64 ABI
+ Select BR2_SOFT_FLOAT
+
+comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
+ depends on BR2_MIPS_NABI32
+ depends on !BR2_STATIC_LIBS
--- /dev/null
+if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
+
+config BR2_TOOLCHAIN_EXTERNAL_PREFIX
+ default "mips-linux-gnu"
+
+config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
+ default "toolchain-external-codesourcery-mips"
+
+endif
--- /dev/null
+# Locally computed
+sha256 d354447c4c5160439dafd5464fa3a0266dd41e79f973477238e4f0215a6b5397 mips-2016.05-8-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2
+sha256 2658e55d5b71bba25d6f77e868e18b200ea5f75c8add7ed3a9266e716d9adfff mips-2016.05-8-mips-linux-gnu.src.tar.bz2
--- /dev/null
+################################################################################
+#
+# toolchain-external-codesourcery-mips
+#
+################################################################################
+
+TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_VERSION = 2016.05-8
+
+TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_SITE = http://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX)
+TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_SOURCE = mips-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2
+TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_ACTUAL_SOURCE_TARBALL = mips-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2
+
+$(eval $(toolchain-external-package))
# AMD64
sha256 3c31206c8b9277f409ee00e4777ba82dfa6da2a4ca0926501cd5fb6bbd1b407e amd-2015.11-139-x86_64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2
sha256 0b673f5035f97d5d03c31272cddab0f117d39ad76a5ad2a3bc98c156571527de amd-2015.11-139-x86_64-amd-linux-gnu.src.tar.bz2
-# MIPS
-sha256 d354447c4c5160439dafd5464fa3a0266dd41e79f973477238e4f0215a6b5397 mips-2016.05-8-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2
-sha256 2658e55d5b71bba25d6f77e868e18b200ea5f75c8add7ed3a9266e716d9adfff mips-2016.05-8-mips-linux-gnu.src.tar.bz2
# ARM toolchains from Texas Instrument's Arago project
# There is one source file that covers both binary distributions.
rm -rf $(@D)/arago-2011.09/
endef
TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS
-else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS),y)
-TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/mips-linux-gnu
-TOOLCHAIN_EXTERNAL_SOURCE = mips-2016.05-8-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII),y)
TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/nios2-linux-gnu
TOOLCHAIN_EXTERNAL_SOURCE = sourceryg++-2016.05-10-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2