318847f736922ed8f613c52a46760c0886c35fc2
[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 config EABI_SUPPORT
90         bool
91         depends arm||armeb
92         prompt "Enable EABI support" if TOOLCHAINOPTS
93         default n if TARGET_gemini
94         default n if TARGET_cns21xx
95         default y
96         help
97           Enable ARM EABI support
98
99 menuconfig EXTRA_TARGET_ARCH
100         bool
101         prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
102         depends !sparc
103         default y       if powerpc64
104         default n
105         help
106           Some builds may require a 'biarch' toolchain. This option
107           allows you to specify an additional target arch.
108
109           Most people will answer N here.
110
111         config EXTRA_TARGET_ARCH_NAME
112                 string
113                 default "powerpc64"     if powerpc64
114                 prompt "Extra architecture name" if EXTRA_TARGET_ARCH
115                 help
116                   Specify the cpu name (eg powerpc64 or x86_64) of the
117                   additional target architecture.
118
119         config EXTRA_TARGET_ARCH_OPTS
120                 string
121                 default "-m64"          if powerpc64
122                 prompt "Extra architecture compiler options" if EXTRA_TARGET_ARCH
123                 help
124                   If you're specifying an addition target architecture,
125                   you'll probably need to also provide options to make
126                   the compiler use this alternate arch.
127
128                   For example, if you're building a compiler that can build
129                   both powerpc and powerpc64 binaries, you'll need to
130                   specify -m64 here.
131
132 comment "Binary tools"
133         depends TOOLCHAINOPTS
134
135 source "toolchain/binutils/Config.in"
136
137 comment "Compiler"
138         depends TOOLCHAINOPTS
139
140 source "toolchain/gcc/Config.in"
141
142 comment "C Library"
143         depends TOOLCHAINOPTS
144
145 choice
146         prompt "C Library implementation" if TOOLCHAINOPTS
147         default USE_UCLIBC
148         help
149           Select the C library implementation.
150
151         config USE_EGLIBC
152                 bool "Use eglibc"
153                 depends !avr32
154         
155         config USE_GLIBC
156                 bool "Use glibc"
157                 depends !avr32
158         
159         config USE_UCLIBC
160                 bool "Use uClibc"
161
162 endchoice
163
164 source "toolchain/eglibc/Config.in"
165 source "toolchain/glibc/Config.in"
166 source "toolchain/uClibc/Config.in"
167
168 comment "Debuggers"
169         depends TOOLCHAINOPTS
170
171 config GDB
172         bool
173         prompt "Build gdb" if TOOLCHAINOPTS
174         default n
175         help
176                 Enable if you want to build the gdb
177
178 config INSIGHT
179         bool
180         prompt "Build insight-gdb" if TOOLCHAINOPTS
181         select GDB
182         default n
183         help
184                 Enable if you want to build insight-gdb
185
186 config USE_UCLIBC
187         bool
188         default y if !TOOLCHAINOPTS
189
190 source "toolchain/gcc/Config.version"
191
192 source "toolchain/eglibc/Config.version"
193 source "toolchain/glibc/Config.version"
194 source "toolchain/uClibc/Config.version"
195
196 config LIBC
197         string
198         default "eglibc"  if USE_EGLIBC
199         default "glibc"   if USE_GLIBC
200         default "uClibc"  if USE_UCLIBC
201
202 config LIBC_VERSION
203         string
204         default EGLIBC_VERSION  if USE_EGLIBC
205         default GLIBC_VERSION   if USE_GLIBC
206         default UCLIBC_VERSION  if USE_UCLIBC
207
208 config TARGET_SUFFIX
209         string
210         default "gnueabi"         if (USE_EGLIBC || USE_GLIBC) && EABI_SUPPORT
211         default "gnu"             if (USE_EGLIBC || USE_GLIBC) && !EABI_SUPPORT
212         default "uclibcgnueabi"   if USE_UCLIBC && EABI_SUPPORT
213         default "uclibc"          if USE_UCLIBC && !EABI_SUPPORT
214