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
41 prompt "4.7.0 (EXPERIMENTAL)"
42 depends on EXPERIMENTAL
45 config CC_V_linaro_4_6_2012_04
47 prompt "linaro-4.6-2012.04 (EXPERIMENTAL)"
48 depends on CC_GCC_SHOW_LINARO
53 prompt "4.6.3 (EXPERIMENTAL)"
54 depends on EXPERIMENTAL
59 prompt "4.6.2 (EXPERIMENTAL)"
60 depends on EXPERIMENTAL
65 prompt "4.6.1 (EXPERIMENTAL)"
66 depends on EXPERIMENTAL
71 prompt "4.6.0 (EXPERIMENTAL)"
72 depends on EXPERIMENTAL
75 config CC_V_linaro_4_5_2012_03
77 prompt "linaro-4.5-2012.03 (EXPERIMENTAL)"
78 depends on CC_GCC_SHOW_LINARO
83 prompt "4.5.3 (EXPERIMENTAL)"
84 depends on EXPERIMENTAL
89 prompt "4.5.2 (EXPERIMENTAL)"
90 depends on EXPERIMENTAL
95 prompt "4.5.1 (EXPERIMENTAL)"
96 depends on EXPERIMENTAL
101 prompt "4.5.0 (EXPERIMENTAL)"
102 depends on EXPERIMENTAL
106 config CC_V_linaro_4_4_2011_02_0
108 prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
109 depends on CC_GCC_SHOW_LINARO
189 prompt "4.2.3 (OBSOLETE)"
200 prompt "4.2.1 (OBSOLETE)"
206 prompt "4.2.0 (OBSOLETE)"
212 prompt "4.1.2 (OBSOLETE)"
217 prompt "4.0.4 (OBSOLETE)"
222 prompt "3.4.6 (OBSOLETE)"
229 select CC_GCC_4_2_or_later
231 config CC_GCC_4_2_or_later
236 select CC_GCC_4_3_or_later
237 select CC_GCC_USE_GMP_MPFR
238 select CC_GCC_HAS_PKGVERSION_BUGURL
240 config CC_GCC_4_3_or_later
242 select CC_GCC_4_2_or_later
246 select CC_GCC_4_4_or_later
247 select CC_GCC_USE_GMP_MPFR
248 select CC_GCC_HAS_GRAPHITE
249 select CC_GCC_HAS_PKGVERSION_BUGURL
251 config CC_GCC_4_4_or_later
253 select CC_GCC_4_3_or_later
257 select CC_GCC_4_5_or_later
258 select CC_GCC_USE_GMP_MPFR
259 select CC_GCC_USE_MPC
260 select CC_GCC_HAS_GRAPHITE
261 select CC_GCC_HAS_LTO
262 select CC_GCC_HAS_PKGVERSION_BUGURL
263 select CC_GCC_HAS_BUILD_ID
265 config CC_GCC_4_5_or_later
267 select CC_GCC_4_4_or_later
271 select CC_GCC_4_6_or_later
272 select CC_GCC_USE_GMP_MPFR
273 select CC_GCC_USE_MPC
274 select CC_GCC_HAS_GRAPHITE
275 select CC_GCC_HAS_LTO
276 select CC_GCC_HAS_PKGVERSION_BUGURL
277 select CC_GCC_HAS_BUILD_ID
279 config CC_GCC_4_6_or_later
281 select CC_GCC_4_5_or_later
285 select CC_GCC_4_7_or_later
286 select CC_GCC_USE_GMP_MPFR
287 select CC_GCC_USE_MPC
288 select CC_GCC_HAS_GRAPHITE
289 select CC_GCC_HAS_LTO
290 select CC_GCC_HAS_PKGVERSION_BUGURL
291 select CC_GCC_HAS_BUILD_ID
293 config CC_GCC_4_7_or_later
295 select CC_GCC_4_6_or_later
297 config CC_GCC_HAS_GRAPHITE
300 # The way LTO works is a bit twisted.
301 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
303 # - if binutils has plugins: LTO is handled by ld/gold by loading
304 # the plugin when linking
305 # - if binutils does not have plugins: LTO is handled by collect2
306 # In any case, LTO support does not depend on plugins, but takes
308 config CC_GCC_HAS_LTO
311 config CC_GCC_HAS_PKGVERSION_BUGURL
314 config CC_GCC_HAS_BUILD_ID
317 # For the upcoming 4.7 ?
318 # None have linker-hash-style support for now...
319 config CC_GCC_HAS_LNK_HASH_STYLE
322 # Only enable gcc's support for plugins if binutils has it as well
323 # They are usefull only when doing LTO, but it does no harm enabling
324 # them even without LTO.
325 config CC_GCC_ENABLE_PLUGINS
327 depends on BINUTILS_PLUGINS
328 depends on ! STATIC_TOOLCHAIN
331 # If binutils installs gold, enable support for gold in gcc
334 depends on BINUTILS_GOLD_INSTALLED
337 config CC_GCC_USE_GMP_MPFR
342 config CC_GCC_USE_PPL_CLOOG
347 config CC_GCC_USE_MPC
351 config CC_GCC_USE_LIBELF
357 # Don't remove next line
358 # CT_INSERT_VERSION_STRING_BELOW
359 default "4.7.0" if CC_V_4_7_0
360 default "linaro-4.6-2012.04" if CC_V_linaro_4_6_2012_04
361 default "4.6.3" if CC_V_4_6_3
362 default "4.6.2" if CC_V_4_6_2
363 default "4.6.1" if CC_V_4_6_1
364 default "4.6.0" if CC_V_4_6_0
365 default "linaro-4.5-2012.03" if CC_V_linaro_4_5_2012_03
366 default "4.5.3" if CC_V_4_5_3
367 default "4.5.2" if CC_V_4_5_2
368 default "4.5.1" if CC_V_4_5_1
369 default "4.5.0" if CC_V_4_5_0
370 default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0
371 default "4.4.7" if CC_V_4_4_7
372 default "4.4.6" if CC_V_4_4_6
373 default "4.4.5" if CC_V_4_4_5
374 default "4.4.4" if CC_V_4_4_4
375 default "4.4.3" if CC_V_4_4_3
376 default "4.4.2" if CC_V_4_4_2
377 default "4.4.1" if CC_V_4_4_1
378 default "4.4.0" if CC_V_4_4_0
379 default "4.3.6" if CC_V_4_3_6
380 default "4.3.5" if CC_V_4_3_5
381 default "4.3.4" if CC_V_4_3_4
382 default "4.3.3" if CC_V_4_3_3
383 default "4.3.2" if CC_V_4_3_2
384 default "4.3.1" if CC_V_4_3_1
385 default "4.3.0" if CC_V_4_3_0
386 default "4.2.4" if CC_V_4_2_4
387 default "4.2.3" if CC_V_4_2_3
388 default "4.2.2" if CC_V_4_2_2
389 default "4.2.1" if CC_V_4_2_1
390 default "4.2.0" if CC_V_4_2_0
391 default "4.1.2" if CC_V_4_1_2
392 default "4.0.4" if CC_V_4_0_4
393 default "3.4.6" if CC_V_3_4_6
395 config CC_LANG_JAVA_USE_ECJ
398 depends on CC_LANG_JAVA
399 depends on CC_GCC_4_3_or_later
401 # Fortran always requires GMP+MPFR, whatever the gcc version
402 config CC_LANG_FORTRAN
403 select CC_GCC_USE_GMP_MPFR