]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - package/gcc/Config.in.host
MIPS: add support for M5100 cores
[coffee/buildroot.git] / package / gcc / Config.in.host
1 comment "GCC Options"
2
3 config BR2_GCC_NEEDS_MPC
4         bool
5
6 config BR2_GCC_SUPPORTS_GRAPHITE
7         bool
8
9 choice
10         prompt "GCC compiler Version"
11         default BR2_GCC_VERSION_ARC if BR2_arc
12         default BR2_GCC_VERSION_5_X
13         help
14           Select the version of gcc you wish to use.
15
16         config BR2_GCC_VERSION_4_7_X
17                 bool "gcc 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 && \
26                         !BR2_powerpc_power8
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
41
42         config BR2_GCC_VERSION_4_8_X
43                 bool "gcc 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
66
67         config BR2_GCC_VERSION_ARC
68                 bool "gcc arc (6.x)"
69                 # Only supported architecture
70                 depends on BR2_arc
71                 select BR2_GCC_NEEDS_MPC
72                 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
73
74
75         config BR2_GCC_VERSION_4_9_X
76                 bool "gcc 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
95
96         config BR2_GCC_VERSION_5_X
97                 bool "gcc 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
109
110         config BR2_GCC_VERSION_6_X
111                 bool "gcc 6.x"
112                 # Broken or unsupported architectures
113                 depends on !BR2_arc
114                 select BR2_GCC_NEEDS_MPC
115                 select BR2_GCC_SUPPORTS_GRAPHITE
116                 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
117
118 endchoice
119
120 # Indicates if GCC for architecture supports --with-{arch,cpu,..}  to
121 # set default CFLAGS, otherwise values will be used by toolchain
122 # wrapper.
123 config BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS
124         bool
125         default y if !BR2_bfin
126
127 config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
128         bool
129         default y
130
131 config BR2_GCC_VERSION
132         string
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
139
140 config BR2_EXTRA_GCC_CONFIG_OPTIONS
141         string "Additional gcc options"
142         default ""
143         help
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.
147
148 config BR2_TOOLCHAIN_BUILDROOT_CXX
149         bool "Enable C++ support"
150         select BR2_INSTALL_LIBSTDCPP
151         help
152           Enable this option if you want your toolchain to support the
153           C++ language and you want C++ libraries to be installed on
154           your target system.
155
156 comment "Fortran support needs a toolchain w/ wchar"
157         depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH
158         depends on !BR2_USE_WCHAR # libquadmath
159
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
166         help
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.
170
171 config BR2_GCC_ENABLE_LTO
172         bool "Enable compiler link-time-optimization support"
173         select BR2_BINUTILS_ENABLE_LTO
174         help
175           This option enables link-time optimization (LTO) support in
176           gcc.
177
178 config BR2_GCC_ENABLE_OPENMP
179         bool "Enable compiler OpenMP support"
180         depends on !BR2_PTHREADS_NONE && !BR2_arc && !BR2_microblaze
181         help
182           Enable OpenMP support for the compiler
183
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
190         help
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.
194
195           See http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging and
196           the help of the gcc -fmudflap option for more details.
197
198           If you're unsure, leave this option disabled.
199
200 config BR2_GCC_ENABLE_GRAPHITE
201         bool "Enable graphite support"
202         depends on BR2_GCC_SUPPORTS_GRAPHITE
203         help
204           This option enables the graphite optimizations in the
205           compiler.