aboutsummaryrefslogtreecommitdiff
path: root/package/gcc/Config.in.host
blob: 0750807644bb803a95e1f4cc984edf03c7c520a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
comment "GCC Options"

config BR2_GCC_NEEDS_MPC
	bool

config BR2_GCC_SUPPORTS_GRAPHITE
	bool

choice
	prompt "GCC compiler Version"
	default BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 if BR2_avr32
	default BR2_GCC_VERSION_4_8_ARC if BR2_arc
	default BR2_GCC_VERSION_4_9_X if BR2_microblaze || BR2_powerpc64le
	default BR2_GCC_VERSION_4_5_X if BR2_bfin
	default BR2_GCC_VERSION_4_8_X
	help
	  Select the version of gcc you wish to use.

	config BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
		bool "gcc 4.2.2-avr32-2.1.5"
		# Only supported architecture
		depends on BR2_avr32

	config BR2_GCC_VERSION_4_5_X
		bool "gcc 4.5.x"
		# Broken or unsupported architectures
		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc \
			&& !BR2_avr32  && !BR2_powerpc64le
		# Broken or unsupported ARM cores
		depends on !BR2_cortex_a7 && !BR2_cortex_a12 && \
			!BR2_cortex_a15 && !BR2_fa526 && !BR2_pj4
		# Broken or unsupported PPC cores
		depends on !BR2_powerpc_e5500 && !BR2_powerpc_e6500 && \
			!BR2_powerpc_power8
		# SPARC -mcpu=leon3 appeared in gcc 4.8.x
		depends on !BR2_sparc_leon3
		# Broken or unsupported X86 cores
		depends on !BR2_x86_corei7 && !BR2_x86_jaguar
		# ARM EABIhf support appeared in gcc 4.6
		depends on !BR2_ARM_EABIHF
		# musl patches only for gcc 4.7+
		depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
		select BR2_GCC_NEEDS_MPC

	config BR2_GCC_VERSION_4_7_X
		bool "gcc 4.7.x"
		# Broken or unsupported architectures
		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc \
			&& !BR2_avr32 && !BR2_bfin && !BR2_powerpc64le
		# Broken or unsupported ARM cores
		depends on !BR2_cortex_a12 && !BR2_pj4
		# Broken or unsupported PPC cores
		depends on !BR2_powerpc_e5500 && !BR2_powerpc_e6500 && \
			!BR2_powerpc_power8
		# SPARC -mcpu=leon3 appeared in gcc 4.8.x
		depends on !BR2_sparc_leon3
		# Broken or unsupported x86 cores
		depends on !BR2_x86_jaguar
		select BR2_GCC_NEEDS_MPC

	config BR2_GCC_VERSION_4_8_X
		bool "gcc 4.8.x"
		# Broken or unsupported architectures
		depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 \
			&& !BR2_bfin && !BR2_powerpc64le
		# Broken or unsupported ARM cores
		depends on !BR2_cortex_a12
		# Broken or unsupported PPC cores
		depends on !BR2_powerpc_power8
		select BR2_GCC_NEEDS_MPC
		select BR2_GCC_SUPPORTS_GRAPHITE

	config BR2_GCC_VERSION_4_8_ARC
		bool "gcc 4.8-arc"
		# Only supported architecture
		depends on BR2_arc
		select BR2_GCC_NEEDS_MPC

	config BR2_GCC_VERSION_4_9_X
		bool "gcc 4.9.x"
		# Broken or unsupported architectures
		depends on !BR2_arc && !BR2_avr32 && !BR2_bfin
		# PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
		select BR2_GCC_NEEDS_MPC
		select BR2_GCC_SUPPORTS_GRAPHITE

endchoice

config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
	bool
	default y if !BR2_GCC_VERSION_4_2_2_AVR32_2_1_5

config BR2_GCC_VERSION
	string
	default "4.2.2-avr32-2.1.5" if BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
	default "4.5.4"     if BR2_GCC_VERSION_4_5_X
	default "4.7.4"     if BR2_GCC_VERSION_4_7_X
	default "4.8.4"     if BR2_GCC_VERSION_4_8_X
	default "4.9.2"     if BR2_GCC_VERSION_4_9_X
	default "arc-2014.08" if BR2_GCC_VERSION_4_8_ARC

config BR2_EXTRA_GCC_CONFIG_OPTIONS
	string "Additional gcc options"
	default ""
	help
	  Any additional gcc configure options you may want to
	  include. Those options are applied for all of the gcc
	  initial, gcc intermediate and gcc final passes.

config BR2_TOOLCHAIN_BUILDROOT_CXX
	bool "Enable C++ support"
	select BR2_INSTALL_LIBSTDCPP
	depends on !(BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 && \
		     BR2_TOOLCHAIN_BUILDROOT_LOCALE)
	help
	  Enable this option if you want your toolchain to support the
	  C++ language and you want C++ libraries to be installed on
	  your target system.

comment "C++ support broken in uClibc with locale enabled with gcc 4.2"
	depends on BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 && BR2_TOOLCHAIN_BUILDROOT_LOCALE

config BR2_GCC_ENABLE_TLS
	bool "Enable compiler tls support" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
	default y
	depends on BR2_PTHREADS_NATIVE || BR2_TOOLCHAIN_BUILDROOT_EGLIBC || BR2_TOOLCHAIN_BUILDROOT_GLIBC
	help
	  Enable the compiler to generate code for accessing
	  thread local storage variables

config BR2_GCC_ENABLE_OPENMP
	bool "Enable compiler OpenMP support"
	depends on !BR2_PTHREADS_NONE && !BR2_avr32 && !BR2_arc && !BR2_microblaze
	help
	  Enable OpenMP support for the compiler

config BR2_GCC_ENABLE_LIBMUDFLAP
	bool "Enable libmudflap support"
	# There are architectures, or specific configurations for
	# which mudflap is not supported.
	depends on !BR2_avr32 && !BR2_bfin && !BR2_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE
	depends on !BR2_GCC_VERSION_4_9_X
	help
	  libmudflap is a gcc library used for the mudflap pointer
	  debugging functionality. It is only needed if you intend to
	  use the -fmudflap gcc flag.

	  See http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging and
	  the help of the gcc -fmudflap option for more details.

	  If you're unsure, leave this option disabled.

config BR2_GCC_ENABLE_GRAPHITE
	bool "Enable graphite support"
	depends on BR2_GCC_SUPPORTS_GRAPHITE
	help
	  This option enables the graphite optimizations in the
	  compiler.