3 menuconfig EXTERNAL_TOOLCHAIN
5 prompt "Use external toolchain" if DEVEL
7 If enabled, OpenWrt will compile using an existing toolchain instead of compiling one
9 config NATIVE_TOOLCHAIN
11 prompt "Use host's toolchain" if DEVEL
12 depends EXTERNAL_TOOLCHAIN
15 If enabled, OpenWrt will compile using the native toolchain for your host instead of compiling one
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
29 config TOOLCHAIN_PREFIX
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
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
55 prompt "Toolchain libc" if DEVEL
56 depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
59 Specify the libc type used by the external toolchain. The given value us passed as -m
60 flag to all gcc and g++ invocations. This is mainly intended for multilib toolchains
61 which support glibc and uclibc at the same time. If no value is specified, no -m flag
64 config TOOLCHAIN_BIN_PATH
66 prompt "Toolchain program path" if DEVEL
67 depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
68 default "./usr/bin ./bin"
70 Specify additional directories searched for toolchain binaries (override PATH)
71 Use ./DIR for directories relative to the root above
73 config TOOLCHAIN_INC_PATH
75 prompt "Toolchain include path" if DEVEL
76 depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
77 default "./usr/include ./include"
79 Specify additional directories searched for header files (override CPPFLAGS)
80 Use ./DIR for directories relative to the root above
82 config TOOLCHAIN_LIB_PATH
84 prompt "Toolchain library path" if DEVEL
85 depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
86 default "./usr/lib ./lib"
88 Specify additional directories searched for libraries (override LDFLAGS)
89 Use ./DIR for directories relative to the root above
94 default y if !EXTERNAL_TOOLCHAIN
96 menuconfig TOOLCHAINOPTS
97 bool "Toolchain Options" if DEVEL
98 depends NEED_TOOLCHAIN
100 menuconfig EXTRA_TARGET_ARCH
102 prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
104 default y if powerpc64
107 Some builds may require a 'biarch' toolchain. This option
108 allows you to specify an additional target arch.
110 Most people will answer N here.
112 config EXTRA_TARGET_ARCH_NAME
114 default "powerpc64" if powerpc64
115 prompt "Extra architecture name" if EXTRA_TARGET_ARCH
117 Specify the cpu name (eg powerpc64 or x86_64) of the
118 additional target architecture.
120 config EXTRA_TARGET_ARCH_OPTS
122 default "-m64" if powerpc64
123 prompt "Extra architecture compiler options" if EXTRA_TARGET_ARCH
125 If you're specifying an addition target architecture,
126 you'll probably need to also provide options to make
127 the compiler use this alternate arch.
129 For example, if you're building a compiler that can build
130 both powerpc and powerpc64 binaries, you'll need to
133 comment "Binary tools"
134 depends TOOLCHAINOPTS
136 source "toolchain/binutils/Config.in"
139 depends TOOLCHAINOPTS
141 source "toolchain/gcc/Config.in"
144 depends TOOLCHAINOPTS
147 prompt "C Library implementation" if TOOLCHAINOPTS
150 Select the C library implementation.
164 source "toolchain/eglibc/Config.in"
165 source "toolchain/uClibc/Config.in"
166 source "toolchain/musl/Config.in"
169 depends TOOLCHAINOPTS
174 prompt "Build gdb" if TOOLCHAINOPTS
177 Enable if you want to build the gdb
181 prompt "Build insight-gdb" if TOOLCHAINOPTS
185 Enable if you want to build insight-gdb
189 default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
191 config USE_EXTERNAL_LIBC
193 default y if EXTERNAL_TOOLCHAIN || NATIVE_TOOLCHAIN
195 source "toolchain/gcc/Config.version"
197 source "toolchain/eglibc/Config.version"
198 source "toolchain/uClibc/Config.version"
199 source "toolchain/musl/Config.version"
203 default "eglibc" if USE_EGLIBC
204 default "uClibc" if USE_UCLIBC
205 default "musl" if USE_MUSL
209 default EGLIBC_VERSION if USE_EGLIBC
210 default UCLIBC_VERSION if USE_UCLIBC
211 default MUSL_VERSION if USE_MUSL
215 default "gnueabi" if USE_EGLIBC && (arm || armeb)
216 default "gnu" if USE_EGLIBC && !(arm || armeb)
217 default "uclibcgnueabi" if USE_UCLIBC && (arm || armeb)
218 default "uclibc" if USE_UCLIBC && !(arm || armeb)
219 default "muslgnueabi" if USE_MUSL && (arm || armeb)
220 default "musl" if USE_MUSL && !(arm || armeb)