summaryrefslogtreecommitdiff
path: root/toolchain/toolchain-external/toolchain-external-codesourcery-mips
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-11-07 02:20:07 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-11-23 22:18:22 +0100
commit1e1bef57fbd316b08fb06d584162223072745825 (patch)
tree108f7727472ffd6f7df060e217becfb442ed7dfd /toolchain/toolchain-external/toolchain-external-codesourcery-mips
parentcfacefecc3d3832be1ec3c4c576e7a612067186c (diff)
toolchain-external-codesourcery-mips: new package
This commit adds a new package for the Sourcery CodeBench external toolchain for the MIPS architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'toolchain/toolchain-external/toolchain-external-codesourcery-mips')
-rw-r--r--toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in93
-rw-r--r--toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options9
-rw-r--r--toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash3
-rw-r--r--toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.mk13
4 files changed, 118 insertions, 0 deletions
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in
new file mode 100644
index 000000000..6a13ae6cd
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in
@@ -0,0 +1,93 @@
+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
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options
new file mode 100644
index 000000000..677cc67d6
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options
@@ -0,0 +1,9 @@
+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
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash
new file mode 100644
index 000000000..2d80338e7
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash
@@ -0,0 +1,3 @@
+# 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
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.mk
new file mode 100644
index 000000000..5117d475c
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# 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))