-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathConfig.in
237 lines (188 loc) · 5.63 KB
/
Config.in
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
229
230
231
232
233
234
235
236
# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
menuconfig TARGET_OPTIONS
bool "Target Options" if DEVEL
config TARGET_OPTIMIZATION
string "Target Optimizations" if TARGET_OPTIONS
default DEFAULT_TARGET_OPTIMIZATION
help
Optimizations to use when building for the target host.
config SOFT_FLOAT
bool "Use software floating point by default" if TARGET_OPTIONS
default y if !HAS_FPU
depends on arm || armeb || powerpc || mipsel || mips || mips64el || mips64
help
If your target CPU does not have a Floating Point Unit (FPU) or a
kernel FPU emulator, but you still wish to support floating point
functions, then everything will need to be compiled with soft floating
point support (-msoft-float).
Most people will answer N.
config USE_MIPS16
bool "Build packages with MIPS16 instructions" if TARGET_OPTIONS
depends on HAS_MIPS16
default y
help
If your target CPU does support the MIPS16 instruction set
and you want to use it for packages, enable this option.
MIPS16 produces smaller binaries thus reducing pressure on
caches and TLB.
Most people will answer N.
config UPDATE_TOOLCHAIN
bool "Update Toolchain" if DEVEL
default n
help
Compile toolchain and update into prebuilt dir.
config MUSL_OPTIMIZATION
bool "MUSL_OPTIMIZATION" if UPDATE_TOOLCHAIN && USE_MUSL
depends on UPDATE_TOOLCHAIN
depends on arm
default y
help
MUSL C library optimization.
config NEED_TOOLCHAIN
bool
depends on DEVEL
default y if !EXTERNAL_TOOLCHAIN
choice
prompt "Select external toolchain C library" if DEVEL
depends on EXTERNAL_TOOLCHAIN
default EXT_TOOLCHAIN_LIBC_USE_MUSL
help
Select the C library implementation.
config EXT_TOOLCHAIN_LIBC_USE_GLIBC
bool "Use glibc"
select USE_GLIBC
depends on !arc
config EXT_TOOLCHAIN_LIBC_USE_MUSL
bool "Use musl"
select USE_MUSL
depends on !(arc || mips64 || mips64el)
endchoice
menuconfig TOOLCHAINOPTS
bool "Toolchain Options" if DEVEL
depends on NEED_TOOLCHAIN
menuconfig EXTRA_TARGET_ARCH
bool
prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
depends on !sparc
default y if powerpc64
default n
help
Some builds may require a 'biarch' toolchain. This option
allows you to specify an additional target arch.
Most people will answer N here.
config EXTRA_TARGET_ARCH_NAME
string
default "powerpc64" if powerpc64
prompt "Extra architecture name" if EXTRA_TARGET_ARCH
help
Specify the cpu name (eg powerpc64 or x86_64) of the
additional target architecture.
config EXTRA_TARGET_ARCH_OPTS
string
default "-m64" if powerpc64
prompt "Extra architecture compiler options" if EXTRA_TARGET_ARCH
help
If you're specifying an addition target architecture,
you'll probably need to also provide options to make
the compiler use this alternate arch.
For example, if you're building a compiler that can build
both powerpc and powerpc64 binaries, you'll need to
specify -m64 here.
choice
prompt "MIPS64 user-land ABI" if TOOLCHAINOPTS && (mips64 || mips64el)
default MIPS64_ABI_N64
help
MIPS64 supports 3 different user-land ABIs: o32 (legacy),
n32 and n64.
config MIPS64_ABI_N64
bool "n64"
config MIPS64_ABI_N32
bool "n32"
config MIPS64_ABI_O32
bool "o32"
endchoice
comment "Binary tools"
depends on TOOLCHAINOPTS
source "toolchain/binutils/Config.in"
comment "Compiler"
depends on TOOLCHAINOPTS
source "toolchain/gcc/Config.in"
comment "C Library"
depends on TOOLCHAINOPTS
choice
prompt "C Library implementation" if TOOLCHAINOPTS
depends on UPDATE_TOOLCHAIN
default LIBC_USE_GLIBC if mips64 || mips64el
default LIBC_USE_UCLIBC if arc
default LIBC_USE_MUSL
help
Select the C library implementation.
config LIBC_USE_GLIBC
bool "Use glibc"
select USE_GLIBC
depends on !arc
config LIBC_USE_MUSL
select USE_MUSL
bool "Use musl"
depends on !(arc || mips64 || mips64el)
endchoice
source "toolchain/glibc/Config.in"
comment "Debuggers"
depends on TOOLCHAINOPTS
config GDB
bool
depends on !(aarch64 || aarch64_be)
prompt "Build gdb" if TOOLCHAINOPTS
default y if !EXTERNAL_TOOLCHAIN
help
Enable if you want to build the gdb.
config INSIGHT
bool
prompt "Build insight-gdb" if TOOLCHAINOPTS
select GDB
default n
help
Enable if you want to build insight-gdb.
config TOOLCHAIN_LIBC
string
default "glibc" if EXT_TOOLCHAIN_LIBC_USE_GLIBC
default "musl" if !EXT_TOOLCHAIN_LIBC_USE_GLIBC
config USE_GLIBC
default y if USE_EXTERNAL_LIBC && EXT_TOOLCHAIN_LIBC_USE_GLIBC
default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && (mips64 || mips64el)
bool
config USE_UCLIBC
default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && (arc)
bool
config USE_MUSL
default y if USE_EXTERNAL_LIBC && !EXT_TOOLCHAIN_LIBC_USE_GLIBC
default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !(arc || mips64 || mips64el)
bool
config USE_EXTERNAL_LIBC
bool
default y if EXTERNAL_TOOLCHAIN
source "toolchain/binutils/Config.version"
source "toolchain/gcc/Config.version"
source "toolchain/glibc/Config.version"
source "toolchain/musl/Config.version"
config LIBC
string
default "glibc" if USE_GLIBC
default "musl" if USE_MUSL
config LIBC_VERSION
string
default GLIBC_VERSION if USE_GLIBC
default MUSL_VERSION if USE_MUSL
config TARGET_SUFFIX
string
default "gnueabi" if USE_GLIBC && (arm || armeb)
default "gnu" if USE_GLIBC && !(arm || armeb)
default "muslgnueabi" if USE_MUSL && (arm || armeb)
default "musl" if USE_MUSL && !(arm || armeb)
config EXTERNAL_TOOLCHAIN
bool
default y if !UPDATE_TOOLCHAIN