1config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
2	bool "Sourcery CodeBench MIPS 2016.05"
3	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
4	depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
5	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
6	# Unsupported MIPS cores
7	depends on !BR2_mips_interaptiv
8	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
9	depends on !BR2_MIPS_NABI32
10	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
11	select BR2_TOOLCHAIN_HAS_SSP
12	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
13	select BR2_TOOLCHAIN_HAS_OPENMP
14	select BR2_INSTALL_LIBSTDCPP
15	select BR2_HOSTARCH_NEEDS_IA32_LIBS
16	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
17	select BR2_TOOLCHAIN_GCC_AT_LEAST_5
18	help
19	  Sourcery CodeBench toolchain for the MIPS architecture, from
20	  Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
21	  2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It
22	  has support for the following variants:
23	    - MIPS32r2 - Big-Endian, 2008 NaN, O32
24	      Select MIPS (big endian) core
25	      Disable BR2_SOFT_FLOAT
26	      Set BR2_TARGET_OPTIMIZATION to -mnan=2008
27	    - MIPS32r2 - Big-Endian, O32
28	      Select MIPS (big endian) core
29	      Disable BR2_SOFT_FLOAT
30	    - MIPS32r2 - Big-Endian, O32, MIPS16
31	      Select MIPS (big endian) core
32	      Disable BR2_SOFT_FLOAT
33	      Set BR2_TARGET_OPTIMIZATION to -mips16
34	    - MIPS32r2 - Big-Endian, Soft-Float, O32
35	      Select MIPS (big endian) core
36	      Select BR2_SOFT_FLOAT
37	    - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
38	      Select MIPS (big endian) core
39	      Select BR2_SOFT_FLOAT
40	      Set BR2_TARGET_OPTIMIZATION to -mips16
41	    - MIPS32r2 - Little-Endian, 2008 NaN, O32
42	      Select MIPS (little endian) core
43	      Disable BR2_SOFT_FLOAT
44	      Set BR2_TARGET_OPTIMIZATION to -mnan=2008
45	    - MIPS32r2 - Little-Endian, O32
46	      Select MIPS (little endian) core
47	      Disable BR2_SOFT_FLOAT
48	    - MIPS32r2 - Little-Endian, O32, MIPS16
49	      Select MIPS (little endian) core
50	      Disable BR2_SOFT_FLOAT
51	      Set BR2_TARGET_OPTIMIZATION to -mips16
52	    - MIPS32r2 - Little-Endian, Soft-Float, O32
53	      Select MIPS (little endian) core
54	      Select BR2_SOFT_FLOAT
55	    - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
56	      Select MIPS (little endian) core
57	      Select BR2_SOFT_FLOAT
58	      Set BR2_TARGET_OPTIMIZATION to -mips16
59	    - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
60	      Select MIPS (little endian) core
61	      Select BR2_SOFT_FLOAT
62	      Set BR2_TARGET_OPTIMIZATION to -mmicromips
63	    - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
64	      Not usable in Buildroot yet.
65	    - MIPS32r2 - uClibc, Big-Endian, O32
66	      Not usable in Buildroot yet.
67	    - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
68	      Not usable in Buildroot yet.
69	    - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
70	      Not usable in Buildroot yet.
71	    - MIPS32r2 - uClibc, Little-Endian, O32
72	      Not usable in Buildroot yet.
73	    - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
74	      Not usable in Buildroot yet.
75	    - MIPS64r2 - Big-Endian, N64
76	      Select MIPS64 (big endian) core
77	      Select the n64 ABI
78	      Disable BR2_SOFT_FLOAT
79	    - MIPS64r2 - Big-Endian, Soft-Float, N64
80	      Select MIPS64 (big endian) core
81	      Select the n64 ABI
82	      Select BR2_SOFT_FLOAT
83	    - MIPS64r2 - Little-Endian, N64
84	      Select MIPS64 (little endian) core
85	      Select the n64 ABI
86	      Disable BR2_SOFT_FLOAT
87	    - MIPS64r2 - Little-Endian, Soft-Float, N64
88	      Select MIPS64 (little endian) core
89	      Select the n64 ABI
90	      Select BR2_SOFT_FLOAT
91
92comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
93	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
94	depends on BR2_MIPS_NABI32
95