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