3 ## select CC_SUPPORT_CXX
4 ## select CC_SUPPORT_FORTRAN
5 ## select CC_SUPPORT_JAVA
6 ## select CC_SUPPORT_ADA
7 ## select CC_SUPPORT_OBJC
8 ## select CC_SUPPORT_OBJCXX
10 ## help gcc is the full-blown GNU compiler. This is what most people will choose.
12 ## help gcc supports many languages, a powerful code parser, optimised binary
13 ## help output, and lots of other features.
15 config CC_GCC_SHOW_LINARO
17 prompt "Show Linaro versions (EXPERIMENTAL)"
18 depends on EXPERIMENTAL
20 Linaro is maintaining some advanced/more stable/experimental versions
21 of gcc, especially for the ARM architecture.
23 Those versions have not been blessed by the gcc comunity (nor have they
24 been cursed either!), but they look to be pretty much stable, and even
25 more stable than the upstream versions. YMMV...
27 If you do not know what this Linaro stuff is, then simply say 'n' here,
28 and rest in peace. OTOH, if you know what you are doing, you will be
29 able to use and enjoy :-) the Linaro versions by saying 'y' here.
31 Linaro: http://www.linaro.org/
36 # Don't remove next line
37 # CT_INSERT_VERSION_BELOW
39 config CC_V_linaro_4_6_2011_08
41 prompt "linaro-4.6-2011.08 (EXPERIMENTAL)"
42 depends on CC_GCC_SHOW_LINARO
47 prompt "4.6.1 (EXPERIMENTAL)"
48 depends on EXPERIMENTAL
53 prompt "4.6.0 (EXPERIMENTAL)"
54 depends on EXPERIMENTAL
57 config CC_V_linaro_4_5_2011_08
59 prompt "linaro-4.5-2011.08 (EXPERIMENTAL)"
60 depends on CC_GCC_SHOW_LINARO
65 prompt "4.5.3 (EXPERIMENTAL)"
66 depends on EXPERIMENTAL
71 prompt "4.5.2 (EXPERIMENTAL)"
72 depends on EXPERIMENTAL
77 prompt "4.5.1 (EXPERIMENTAL)"
78 depends on EXPERIMENTAL
83 prompt "4.5.0 (EXPERIMENTAL)"
84 depends on EXPERIMENTAL
88 config CC_V_linaro_4_4_2011_02_0
90 prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
91 depends on CC_GCC_SHOW_LINARO
166 prompt "4.2.3 (OBSOLETE)"
177 prompt "4.2.1 (OBSOLETE)"
183 prompt "4.2.0 (OBSOLETE)"
189 prompt "4.1.2 (OBSOLETE)"
194 prompt "4.0.4 (OBSOLETE)"
199 prompt "3.4.6 (OBSOLETE)"
206 select CC_GCC_4_2_or_later
208 config CC_GCC_4_2_or_later
213 select CC_GCC_4_3_or_later
214 select CC_GCC_USE_GMP_MPFR
215 select CC_GCC_HAS_PKGVERSION_BUGURL
217 config CC_GCC_4_3_or_later
219 select CC_GCC_4_2_or_later
223 select CC_GCC_4_4_or_later
224 select CC_GCC_USE_GMP_MPFR
225 select CC_GCC_HAS_GRAPHITE
226 select CC_GCC_HAS_PKGVERSION_BUGURL
228 config CC_GCC_4_4_or_later
230 select CC_GCC_4_3_or_later
234 select CC_GCC_4_5_or_later
235 select CC_GCC_USE_GMP_MPFR
236 select CC_GCC_USE_MPC
237 select CC_GCC_HAS_GRAPHITE
238 select CC_GCC_HAS_LTO
239 select CC_GCC_HAS_PKGVERSION_BUGURL
240 select CC_GCC_HAS_BUILD_ID
242 config CC_GCC_4_5_or_later
244 select CC_GCC_4_4_or_later
248 select CC_GCC_4_6_or_later
249 select CC_GCC_USE_GMP_MPFR
250 select CC_GCC_USE_MPC
251 select CC_GCC_HAS_GRAPHITE
252 select CC_GCC_HAS_LTO
253 select CC_GCC_HAS_PKGVERSION_BUGURL
254 select CC_GCC_HAS_BUILD_ID
256 config CC_GCC_4_6_or_later
258 select CC_GCC_4_5_or_later
260 config CC_GCC_HAS_GRAPHITE
263 # The way LTO works is a bit twisted.
264 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
266 # - if binutils has plugins: LTO is handled by ld/gold by loading
267 # the plugin when linking
268 # - if binutils does not have plugins: LTO is handled by collect2
269 # In any case, LTO support does not depend on plugins, but takes
271 config CC_GCC_HAS_LTO
274 config CC_GCC_HAS_PKGVERSION_BUGURL
277 config CC_GCC_HAS_BUILD_ID
280 # For the upcoming 4.7 ?
281 # None have linker-hash-style support for now...
282 config CC_GCC_HAS_LNK_HASH_STYLE
285 # Only enable gcc's support for plugins if binutils has it as well
286 # They are usefull only when doing LTO, but it does no harm enabling
287 # them even without LTO.
288 config CC_GCC_ENABLE_PLUGINS
290 depends on BINUTILS_PLUGINS
291 depends on ! STATIC_TOOLCHAIN
294 # If binutils installs gold, enable support for gold in gcc
297 depends on BINUTILS_GOLD_INSTALLED
300 config CC_GCC_USE_GMP_MPFR
305 config CC_GCC_USE_PPL_CLOOG
310 config CC_GCC_USE_MPC
314 config CC_GCC_USE_LIBELF
320 # Don't remove next line
321 # CT_INSERT_VERSION_STRING_BELOW
322 default "linaro-4.6-2011.08" if CC_V_linaro_4_6_2011_08
323 default "4.6.1" if CC_V_4_6_1
324 default "4.6.0" if CC_V_4_6_0
325 default "linaro-4.5-2011.08" if CC_V_linaro_4_5_2011_08
326 default "4.5.3" if CC_V_4_5_3
327 default "4.5.2" if CC_V_4_5_2
328 default "4.5.1" if CC_V_4_5_1
329 default "4.5.0" if CC_V_4_5_0
330 default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0
331 default "4.4.6" if CC_V_4_4_6
332 default "4.4.5" if CC_V_4_4_5
333 default "4.4.4" if CC_V_4_4_4
334 default "4.4.3" if CC_V_4_4_3
335 default "4.4.2" if CC_V_4_4_2
336 default "4.4.1" if CC_V_4_4_1
337 default "4.4.0" if CC_V_4_4_0
338 default "4.3.6" if CC_V_4_3_6
339 default "4.3.5" if CC_V_4_3_5
340 default "4.3.4" if CC_V_4_3_4
341 default "4.3.3" if CC_V_4_3_3
342 default "4.3.2" if CC_V_4_3_2
343 default "4.3.1" if CC_V_4_3_1
344 default "4.3.0" if CC_V_4_3_0
345 default "4.2.4" if CC_V_4_2_4
346 default "4.2.3" if CC_V_4_2_3
347 default "4.2.2" if CC_V_4_2_2
348 default "4.2.1" if CC_V_4_2_1
349 default "4.2.0" if CC_V_4_2_0
350 default "4.1.2" if CC_V_4_1_2
351 default "4.0.4" if CC_V_4_0_4
352 default "3.4.6" if CC_V_3_4_6
354 config CC_LANG_JAVA_USE_ECJ
357 depends on CC_LANG_JAVA
358 depends on CC_GCC_4_3_or_later
360 # Fortran always requires GMP+MPFR, whatever the gcc version
361 config CC_LANG_FORTRAN
362 select CC_GCC_USE_GMP_MPFR