3 config BR2_GCC_NEEDS_MPC
6 config BR2_GCC_SUPPORTS_GRAPHITE
10 prompt "GCC compiler Version"
11 default BR2_GCC_VERSION_ARC if BR2_arc
12 default BR2_GCC_VERSION_5_X
14 Select the version of gcc you wish to use.
16 config BR2_GCC_VERSION_4_7_X
18 depends on BR2_DEPRECATED_SINCE_2016_05
19 # Broken or unsupported architectures
20 depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc \
21 && !BR2_powerpc64le && !BR2_nios2 && !BR2_bfin
22 # Broken or unsupported ARM cores
23 depends on !BR2_cortex_a12 && !BR2_pj4 && !BR2_cortex_a17
24 # Broken or unsupported PPC cores
25 depends on !BR2_powerpc_e5500 && !BR2_powerpc_e6500 && \
27 # SPARC -mcpu=leon3 appeared in gcc 4.8.x
28 depends on !BR2_sparc_leon3
29 # Broken or unsupported x86 cores
30 depends on !BR2_x86_jaguar && !BR2_x86_steamroller
31 # Unsupported MIPS cores
32 depends on !BR2_mips_interaptiv
33 # Unsupported for MIPS R5
34 depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
35 # Unsupported for MIPS R6
36 depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
37 # musl ppc64 unsupported
38 depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
39 select BR2_GCC_NEEDS_MPC
40 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
42 config BR2_GCC_VERSION_4_8_X
44 # Broken or unsupported architectures
45 depends on !BR2_microblaze && !BR2_arc \
46 && !BR2_powerpc64le && !BR2_nios2 && !BR2_bfin
47 # Broken or unsupported ARM cores
48 depends on !BR2_cortex_a12 && !BR2_cortex_a17
49 # Broken or unsupported PPC cores
50 depends on !BR2_powerpc_power8
51 # Unsupported MIPS cores
52 depends on !BR2_mips_interaptiv
53 # gcc-4.8.x + binutils-2.25 is broken for MIPS
54 depends on !((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && BR2_BINUTILS_VERSION_2_25_X)
55 # Unsupported for MIPS R5
56 depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
57 # Unsupported for MIPS R6
58 depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
59 # musl ppc64 unsupported
60 depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
61 # musl mips64 unsupported
62 depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
63 select BR2_GCC_NEEDS_MPC
64 select BR2_GCC_SUPPORTS_GRAPHITE
65 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
67 config BR2_GCC_VERSION_ARC
69 # Only supported architecture
71 select BR2_GCC_NEEDS_MPC
72 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
75 config BR2_GCC_VERSION_4_9_X
77 # Broken or unsupported architectures
78 depends on !BR2_arc && !BR2_bfin
79 # Broken or unsupported ARM cores
80 depends on !BR2_cortex_a17
81 # Unsupported MIPS cores
82 depends on !BR2_mips_interaptiv
83 # Unsupported for MIPS R5
84 depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
85 # Unsupported for MIPS R6
86 depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
87 # musl ppc64 unsupported
88 depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
89 # musl mips64 unsupported
90 depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
91 # PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
92 select BR2_GCC_NEEDS_MPC
93 select BR2_GCC_SUPPORTS_GRAPHITE
94 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
96 config BR2_GCC_VERSION_5_X
98 # Broken or unsupported architectures
99 depends on !BR2_arc && !BR2_bfin
100 # musl ppc64 unsupported
101 depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
102 # Unsupported MIPS cores
103 depends on !BR2_mips_interaptiv && !BR2_mips_m5100
104 # musl mips64 unsupported
105 depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
106 select BR2_GCC_NEEDS_MPC
107 select BR2_GCC_SUPPORTS_GRAPHITE
108 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
110 config BR2_GCC_VERSION_6_X
112 # Broken or unsupported architectures
114 select BR2_GCC_NEEDS_MPC
115 select BR2_GCC_SUPPORTS_GRAPHITE
116 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
120 # Indicates if GCC for architecture supports --with-{arch,cpu,..} to
121 # set default CFLAGS, otherwise values will be used by toolchain
123 config BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS
125 default y if !BR2_bfin
127 config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
131 config BR2_GCC_VERSION
133 default "4.7.4" if BR2_GCC_VERSION_4_7_X
134 default "4.8.5" if BR2_GCC_VERSION_4_8_X
135 default "4.9.4" if BR2_GCC_VERSION_4_9_X
136 default "5.4.0" if BR2_GCC_VERSION_5_X
137 default "6.2.0" if BR2_GCC_VERSION_6_X
138 default "arc-2016.09-eng015" if BR2_GCC_VERSION_ARC
140 config BR2_EXTRA_GCC_CONFIG_OPTIONS
141 string "Additional gcc options"
144 Any additional gcc configure options you may want to
145 include. Those options are applied for all of the gcc
146 initial, gcc intermediate and gcc final passes.
148 config BR2_TOOLCHAIN_BUILDROOT_CXX
149 bool "Enable C++ support"
150 select BR2_INSTALL_LIBSTDCPP
152 Enable this option if you want your toolchain to support the
153 C++ language and you want C++ libraries to be installed on
156 comment "Fortran support needs a toolchain w/ wchar"
157 depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH
158 depends on !BR2_USE_WCHAR # libquadmath
160 config BR2_TOOLCHAIN_BUILDROOT_FORTRAN
161 bool "Enable Fortran support"
162 # on architecture building libquadmath, wchar is required
163 depends on !BR2_TOOLCHAIN_HAS_LIBQUADMATH || \
164 (BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR)
165 select BR2_TOOLCHAIN_HAS_FORTRAN
167 Enable this option if you want your toolchain to support the
168 Fortran language and you want Fortran libraries to be
169 installed on your target system.
171 config BR2_GCC_ENABLE_LTO
172 bool "Enable compiler link-time-optimization support"
173 select BR2_BINUTILS_ENABLE_LTO
175 This option enables link-time optimization (LTO) support in
178 config BR2_GCC_ENABLE_OPENMP
179 bool "Enable compiler OpenMP support"
180 depends on !BR2_PTHREADS_NONE && !BR2_arc && !BR2_microblaze
182 Enable OpenMP support for the compiler
184 config BR2_GCC_ENABLE_LIBMUDFLAP
185 bool "Enable libmudflap support"
186 # There are architectures, or specific configurations for
187 # which mudflap is not supported.
188 depends on !BR2_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE
189 depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
191 libmudflap is a gcc library used for the mudflap pointer
192 debugging functionality. It is only needed if you intend to
193 use the -fmudflap gcc flag.
195 See http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging and
196 the help of the gcc -fmudflap option for more details.
198 If you're unsure, leave this option disabled.
200 config BR2_GCC_ENABLE_GRAPHITE
201 bool "Enable graphite support"
202 depends on BR2_GCC_SUPPORTS_GRAPHITE
204 This option enables the graphite optimizations in the