summaryrefslogtreecommitdiff
path: root/target/config/Config.in.toolchain
blob: 5c50c7a9bffd2d62941204e84eb7e64c75f613da (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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.

menu "Toolchain settings"
	visible if !ADK_CHOOSE_APPLIANCE

config ADK_VENDOR
	string "Vendor name"
	default "openadk"
	help
	  Vendor string is used for toolchain.

choice
prompt "GCC version"

config ADK_TOOLCHAIN_GCC_4_9_2
	bool "4.9.2"
	depends on !ADK_TARGET_ARCH_BFIN
	depends on !ADK_TARGET_ARCH_ARC
	depends on !ADK_TARGET_ARCH_AVR32
	depends on !ADK_TARGET_ARCH_CRIS
	depends on !ADK_TARGET_ARCH_C6X

config ADK_TOOLCHAIN_GCC_4_8_4
	bool "4.8.4"
	depends on !ADK_TARGET_ARCH_BFIN
	depends on !ADK_TARGET_ARCH_AARCH64
	depends on !ADK_TARGET_ARCH_ARC
	depends on !ADK_TARGET_ARCH_AVR32
	depends on !ADK_TARGET_ARCH_CRIS
	depends on !ADK_TARGET_ARCH_TILE
	depends on !ADK_TARGET_ARCH_C6X

config ADK_TOOLCHAIN_GCC_4_7_4
	bool "4.7.4"
	depends on ADK_TARGET_ARCH_CRIS \
		|| ADK_TARGET_ARCH_C6X \
		|| ADK_TARGET_ARCH_SPARC

config ADK_TOOLCHAIN_GCC_4_8_0_ARC
	bool "4.8.0-arc"
	depends on ADK_TARGET_ARCH_ARC

config ADK_TOOLCHAIN_GCC_4_5_4
	bool "4.5.4"
	depends on ADK_TARGET_ARCH_BFIN

config ADK_TOOLCHAIN_GCC_4_4_7
	bool "4.4.7"
	depends on ADK_TARGET_ARCH_AVR32

config ADK_TOOLCHAIN_GCC_GIT
	bool "git"
	depends on !ADK_TARGET_ARCH_BFIN
	depends on !ADK_TARGET_ARCH_ARC
	depends on !ADK_TARGET_ARCH_AVR32
	depends on !ADK_TARGET_ARCH_CRIS

endchoice

choice
prompt "Binutils version"

config ADK_TOOLCHAIN_BINUTILS_2_20_1
	bool "2.20.1"
	depends on ADK_TARGET_ARCH_AVR32

config ADK_TOOLCHAIN_BINUTILS_2_22
	bool "2.22"
	depends on ADK_TARGET_ARCH_BFIN \
		|| ADK_TARGET_ARCH_CRIS

config ADK_TOOLCHAIN_BINUTILS_2_23_ARC
	bool "2.23-arc"
	depends on ADK_TARGET_ARCH_ARC

config ADK_TOOLCHAIN_BINUTILS_2_25
	bool "2.25"
	depends on !ADK_TARGET_ARCH_BFIN
	depends on !ADK_TARGET_ARCH_ARC
	depends on !ADK_TARGET_ARCH_AVR32
	depends on !ADK_TARGET_ARCH_CRIS

config ADK_TOOLCHAIN_BINUTILS_2_24
	bool "2.24"
	depends on !ADK_TARGET_ARCH_BFIN
	depends on !ADK_TARGET_ARCH_ARC
	depends on !ADK_TARGET_ARCH_AVR32
	depends on !ADK_TARGET_ARCH_CRIS

config ADK_TOOLCHAIN_BINUTILS_GIT
	bool "git"
	depends on !ADK_TARGET_ARCH_BFIN
	depends on !ADK_TARGET_ARCH_ARC
	depends on !ADK_TARGET_ARCH_AVR32
	depends on !ADK_TARGET_ARCH_CRIS

endchoice

choice
prompt "GNU debugger version"

config ADK_TOOLCHAIN_GDB_7_8_2
	bool "7.8.2"
	depends on !ADK_TARGET_ARCH_AVR32

config ADK_TOOLCHAIN_GDB_6_7_1
	bool "6.7.1"
	depends on ADK_TARGET_ARCH_AVR32

config ADK_TOOLCHAIN_GDB_GIT
	bool "git"
	depends on !ADK_TARGET_ARCH_AVR32

endchoice

config ADK_TARGET_CFLAGS_OPT
	string
	default "-Os -pipe" if ADK_TARGET_CFLAGS_OPT_OS
	default "-O2 -pipe" if ADK_TARGET_CFLAGS_OPT_O2
	default "-O3 -pipe" if ADK_TARGET_CFLAGS_OPT_O3
	default "-O0 -pipe" if ADK_TARGET_CFLAGS_OPT_O0

choice
prompt "Optimization level"
bool

config ADK_TARGET_CFLAGS_OPT_OS
	prompt "optimize for size (-Os)"

config ADK_TARGET_CFLAGS_OPT_O2
	prompt "optimize for performance (-O2)"

config ADK_TARGET_CFLAGS_OPT_O3
	prompt "optimize for performance (-O3)"

config ADK_TARGET_CFLAGS_OPT_O0
	prompt "no optimization (-O0)"

endchoice

config ADK_TARGET_ARCH_ARM_WITH_THUMB
	bool "Use THUMB2 only mode"
	select ADK_KERNEL_THUMB2_KERNEL
	depends on ADK_TARGET_ARCH_ARM
	help
	  Experimental option. Use with care.

config ADK_TOOLCHAIN_WITH_SSP
	bool

config ADK_TARGET_USE_SSP
	bool "Use Stack Smashing Protection for all packages"
	select ADK_TOOLCHAIN_WITH_SSP

config ADK_TARGET_USE_PIE
	bool "Use Position Independent Executable for packages with have support for it"

config ADK_TOOLCHAIN_WITH_LTO
	bool

config ADK_TARGET_USE_LTO
	bool "Use Link Time Optimization for all packages"
	select ADK_TOOLCHAIN_WITH_LTO

config ADK_TARGET_USE_LD_RELRO
	bool "Use LD read-only (-z relro) relocations for all packages"

config ADK_TARGET_USE_LD_BIND_NOW
	bool "Use LD bind now (-z now) for all packages"

config ADK_TARGET_USE_LD_GC
	bool "Use LD garbage collection for all packages"

config ADK_TOOLCHAIN_WITH_GOLD
	bool

config ADK_TARGET_USE_GOLD
	bool "Use GOLD as linker for all packages"
	select ADK_TOOLCHAIN_WITH_GOLD
	depends on !ADK_TARGET_ARCH_MIPS
	depends on !ADK_TARGET_ARCH_MIPS64

config ADK_TARGET_USE_GNU_HASHSTYLE
	bool "Use GNU hashstyle for all packages"
	depends on !ADK_TARGET_ARCH_MIPS
	depends on !ADK_TARGET_ARCH_MIPS64
	help
	  Performance optimization for applications with lot of shared library
	  dependencies. See http://www.akkadia.org/drepper/dsohowto.pdf

config ADK_DEBUG
	bool "Compile applications with debug support and do not strip"
	help
	  All software for the target will be compiled with:
	  -fno-omit-frame-pointer
	  -funwind-tables
	  -fasynchronous-unwind-tables  
	  Software will not be stripped.
	  Mostly useful for NFS root or big USB/CF or hard disk setups.

config ADK_DEBUG_STRIP
	bool "strip target binaries/libraries for gdbserver usage"
	depends on ADK_DEBUG
	help
	  All packages and C library will be compiled with debug information, 
	  but stripped for the target.

config ADK_TARGET_USE_STATIC_LIBS
	bool "Link applications statically by default"
	select BUSYBOX_STATIC
	help
	  Useful for debugging of dynamic linker problems. Be aware of the fact, that uClibc and glibc
	  still requires libgcc_so.so.1 for pthread_cancel. Glibc also requires libnss_*.so libraries
	  at runtime. Full static builds are only supported for musl libc.

config ADK_STATIC_TOOLCHAIN
	bool "Build the toolchain components statically"
	help
	  If you want to create more portable toolchains, build them static.

config ADK_UCLIBC_TEST
	bool "Build testsuite for C library"
	depends on ADK_TARGET_LIB_UCLIBC_NG || ADK_TARGET_LIB_UCLIBC
	help
	  Build uClibc/uClibc-ng test suite.

endmenu