blob: 23b348ecc154729f2aae284139dbe025e444189d (
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
|
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
menu "Toolchain specific settings"
depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
config ADK_VENDOR
string "Vendor name"
default "openadk"
help
Vendor string is used for toolchain.
choice
prompt "GCC version"
config ADK_TOOLCHAIN_GCC_4_4_7
prompt "4.4.7"
boolean
depends on ADK_LINUX_AVR32
config ADK_TOOLCHAIN_GCC_4_5_4
prompt "4.5.4"
boolean
depends on ADK_LINUX_BFIN
config ADK_TOOLCHAIN_GCC_4_8_0_ARC
prompt "4.8.0-arc"
boolean
depends on ADK_LINUX_ARC
config ADK_TOOLCHAIN_GCC_4_8_3
prompt "4.8.3"
boolean
depends on !ADK_LINUX_BFIN
depends on !ADK_LINUX_AARCH64
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
config ADK_TOOLCHAIN_GCC_4_9_1
prompt "4.9.1"
boolean
depends on !ADK_LINUX_BFIN
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
config ADK_TOOLCHAIN_GCC_GIT
prompt "git"
boolean
select ADK_DISABLE_CHECKSUM
depends on !ADK_LINUX_BFIN
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
endchoice
choice
prompt "Binutils version"
depends on !ADK_CHOOSE_TARGET_SYSTEM && !ADK_CHOOSE_TARGET_ARCH
config ADK_TOOLCHAIN_BINUTILS_2_20_1
prompt "2.20.1"
boolean
depends on ADK_LINUX_AVR32
config ADK_TOOLCHAIN_BINUTILS_2_22
prompt "2.22"
boolean
depends on ADK_LINUX_BFIN
config ADK_TOOLCHAIN_BINUTILS_2_23_ARC
prompt "2.23-arc"
boolean
depends on ADK_LINUX_ARC
config ADK_TOOLCHAIN_BINUTILS_2_24
prompt "2.24"
boolean
depends on !ADK_LINUX_BFIN
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
config ADK_TOOLCHAIN_BINUTILS_GIT
prompt "git"
boolean
select ADK_DISABLE_CHECKSUM
depends on !ADK_LINUX_BFIN
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_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"
boolean
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_LINUX_ARM_WITH_THUMB
prompt "Use THUMB2 ARM mode"
boolean
depends on ADK_CPU_CORTEX_A9 && ADK_TARGET_LIB_GLIBC
select ADK_KERNEL_THUMB2_KERNEL
default n
config ADK_TOOLCHAIN_WITH_SSP
boolean
default n
config ADK_TARGET_USE_SSP
prompt "Use Stack Smashing Protection for all packages"
boolean
select ADK_TOOLCHAIN_WITH_SSP
default n
config ADK_TARGET_USE_PIE
prompt "Use Position Independent Executable for packages with have support for it"
boolean
default n
config ADK_TOOLCHAIN_WITH_LTO
boolean
default n
config ADK_TARGET_USE_LTO
prompt "Use Link Time Optimization for all packages"
boolean
select ADK_TOOLCHAIN_WITH_LTO
default n
config ADK_TARGET_USE_LD_RELRO
prompt "Use LD read-only (-z relro) relocations for all packages"
boolean
default n
config ADK_TARGET_USE_LD_BIND_NOW
prompt "Use LD bind now (-z now) for all packages"
boolean
default n
config ADK_TARGET_USE_LD_GC
prompt "Use LD garbage collection for all packages"
boolean
default n
config ADK_TOOLCHAIN_WITH_GOLD
boolean
default n
config ADK_TARGET_USE_GOLD
prompt "Use GOLD as linker for all packages"
boolean
select ADK_TOOLCHAIN_WITH_GOLD
depends on !ADK_LINUX_MIPS
depends on !ADK_LINUX_MIPS64
default n
config ADK_TARGET_USE_GNU_HASHSTYLE
prompt "Use GNU hashstyle for all packages"
boolean
depends on !ADK_LINUX_MIPS
depends on !ADK_LINUX_MIPS64
default n
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"
default n
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
default n
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"
default n
default y if ADK_TARGET_UCLINUX
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
boolean "Build the toolchain components statically"
default n
help
If you want to create more portable toolchains, build them static.
config ADK_UCLIBC_TEST
prompt "Build testsuite for C library"
boolean
depends on ADK_TARGET_LIB_UCLIBC_NG || ADK_TARGET_LIB_UCLIBC
default y
endmenu
|