musl: disable hardware FPU registers usage
[openwrt/openwrt.git] / toolchain / Config.in
1 #
2
3 menuconfig EXTERNAL_TOOLCHAIN
4 bool
5 prompt "Use external toolchain" if DEVEL
6 help
7 If enabled, OpenWrt will compile using an existing toolchain instead of compiling one
8
9 config NATIVE_TOOLCHAIN
10 bool
11 prompt "Use host's toolchain" if DEVEL
12 depends EXTERNAL_TOOLCHAIN
13 select NO_STRIP
14 help
15 If enabled, OpenWrt will compile using the native toolchain for your host instead of compiling one
16
17 config TARGET_NAME
18 string
19 prompt "Target name" if DEVEL
20 depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
21 default "arm-unknown-linux-gnu" if arm
22 default "armeb-unknown-linux-gnu" if armeb
23 default "i486-unknown-linux-gnu" if i386
24 default "mips-unknown-linux-gnu" if mips
25 default "mipsel-unknown-linux-gnu" if mipsel
26 default "powerpc-unknown-linux-gnu" if powerpc
27 default "x86_64-unknown-linux-gnu" if x86_64
28
29 config TOOLCHAIN_PREFIX
30 string
31 prompt "Toolchain prefix" if DEVEL
32 depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
33 default "arm-unknown-linux-gnu-" if arm
34 default "armeb-unknown-linux-gnu-" if armeb
35 default "i486-unknown-linux-gnu-" if i386
36 default "mips-unknown-linux-gnu-" if mips
37 default "mipsel-unknown-linux-gnu-" if mipsel
38 default "powerpc-unknown-linux-gnu-" if powerpc
39 default "x86_64-unknown-linux-gnu-" if x86_64
40
41 config TOOLCHAIN_ROOT
42 string
43 prompt "Toolchain root" if DEVEL
44 depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
45 default "/opt/cross/arm-unknown-linux-gnu" if arm
46 default "/opt/cross/armeb-unknown-linux-gnu" if armeb
47 default "/opt/cross/i486-unknown-linux-gnu" if i386
48 default "/opt/cross/mips-unknown-linux-gnu" if mips
49 default "/opt/cross/mipsel-unknown-linux-gnu" if mipsel
50 default "/opt/cross/powerpc-unknown-linux-gnu" if powerpc
51 default "/opt/cross/x86_64-unknown-linux-gnu" if x86_64
52
53 config TOOLCHAIN_BIN_PATH
54 string
55 prompt "Toolchain program path" if DEVEL
56 depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
57 default "./usr/bin ./bin"
58 help
59 Specify additional directories searched for toolchain binaries (override PATH)
60 Use ./DIR for directories relative to the root above
61
62 config TOOLCHAIN_INC_PATH
63 string
64 prompt "Toolchain include path" if DEVEL
65 depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
66 default "./usr/include ./include"
67 help
68 Specify additional directories searched for header files (override CPPFLAGS)
69 Use ./DIR for directories relative to the root above
70
71 config TOOLCHAIN_LIB_PATH
72 string
73 prompt "Toolchain library path" if DEVEL
74 depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
75 default "./usr/lib ./lib"
76 help
77 Specify additional directories searched for libraries (override LDFLAGS)
78 Use ./DIR for directories relative to the root above
79
80 config NEED_TOOLCHAIN
81 bool
82 depends DEVEL
83 default y if !EXTERNAL_TOOLCHAIN
84
85 menuconfig TOOLCHAINOPTS
86 bool "Toolchain Options" if DEVEL
87 depends NEED_TOOLCHAIN
88
89 menuconfig EXTRA_TARGET_ARCH
90 bool
91 prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
92 depends !sparc
93 default y if powerpc64
94 default n
95 help
96 Some builds may require a 'biarch' toolchain. This option
97 allows you to specify an additional target arch.
98
99 Most people will answer N here.
100
101 config EXTRA_TARGET_ARCH_NAME
102 string
103 default "powerpc64" if powerpc64
104 prompt "Extra architecture name" if EXTRA_TARGET_ARCH
105 help
106 Specify the cpu name (eg powerpc64 or x86_64) of the
107 additional target architecture.
108
109 config EXTRA_TARGET_ARCH_OPTS
110 string
111 default "-m64" if powerpc64
112 prompt "Extra architecture compiler options" if EXTRA_TARGET_ARCH
113 help
114 If you're specifying an addition target architecture,
115 you'll probably need to also provide options to make
116 the compiler use this alternate arch.
117
118 For example, if you're building a compiler that can build
119 both powerpc and powerpc64 binaries, you'll need to
120 specify -m64 here.
121
122 comment "Binary tools"
123 depends TOOLCHAINOPTS
124
125 source "toolchain/binutils/Config.in"
126
127 comment "Compiler"
128 depends TOOLCHAINOPTS
129
130 source "toolchain/gcc/Config.in"
131
132 comment "C Library"
133 depends TOOLCHAINOPTS
134
135 choice
136 prompt "C Library implementation" if TOOLCHAINOPTS
137 default USE_UCLIBC
138 help
139 Select the C library implementation.
140
141 config USE_EGLIBC
142 bool "Use eglibc"
143 depends !avr32
144
145 config USE_UCLIBC
146 bool "Use uClibc"
147
148 config USE_MUSL
149 bool "Use musl"
150
151 endchoice
152
153 source "toolchain/eglibc/Config.in"
154 source "toolchain/uClibc/Config.in"
155 source "toolchain/musl/Config.in"
156
157 comment "Debuggers"
158 depends TOOLCHAINOPTS
159
160 config GDB
161 bool
162 depends !avr32
163 prompt "Build gdb" if TOOLCHAINOPTS
164 default y
165 help
166 Enable if you want to build the gdb
167
168 config INSIGHT
169 bool
170 prompt "Build insight-gdb" if TOOLCHAINOPTS
171 select GDB
172 default n
173 help
174 Enable if you want to build insight-gdb
175
176 config USE_UCLIBC
177 bool
178 default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
179
180 config USE_EXTERNAL_LIBC
181 bool
182 default y if EXTERNAL_TOOLCHAIN || NATIVE_TOOLCHAIN
183
184 source "toolchain/gcc/Config.version"
185
186 source "toolchain/eglibc/Config.version"
187 source "toolchain/uClibc/Config.version"
188 source "toolchain/musl/Config.version"
189
190 config LIBC
191 string
192 default "eglibc" if USE_EGLIBC
193 default "uClibc" if USE_UCLIBC
194 default "musl" if USE_MUSL
195
196 config LIBC_VERSION
197 string
198 default EGLIBC_VERSION if USE_EGLIBC
199 default UCLIBC_VERSION if USE_UCLIBC
200 default MUSL_VERSION if USE_MUSL
201
202 config TARGET_SUFFIX
203 string
204 default "gnueabi" if USE_EGLIBC && (arm || armeb)
205 default "gnu" if USE_EGLIBC && !(arm || armeb)
206 default "uclibcgnueabi" if USE_UCLIBC && (arm || armeb)
207 default "uclibc" if USE_UCLIBC && !(arm || armeb)
208 default "muslgnueabi" if USE_MUSL && (arm || armeb)
209 default "musl" if USE_MUSL && !(arm || armeb)