Don't prompt for endianness not suppoted by selected architecture.
Change suggested by Robert P. J. DAY <rpjday@mindspring.com>.
1 # Target definition: architecture, optimisations, etc...
5 comment "General target options"
9 prompt "Target architecture:"
15 select ARCH_SUPPORTS_BE
16 select ARCH_SUPPORTS_LE
21 select ARCH_SUPPORTS_BE
22 select ARCH_SUPPORTS_LE
27 select ARCH_SUPPORTS_LE
32 select ARCH_SUPPORTS_LE
36 config ARCH_SUPPORTS_BE
40 config ARCH_SUPPORTS_LE
51 depends on ARCH_SUPPORTS_BE
55 prompt "Little endian"
56 depends on ARCH_SUPPORTS_LE
60 comment "Target optimisations"
64 prompt "Emit assembly for CPU"
67 This specifies the name of the target ARM processor. GCC uses this name
68 to determine what kind of instructions it can emit when generating
71 Pick a value from the gcc manual for your choosen gcc version and your
74 Leave blank if you don't know, or if your target architecture does not
82 This option is very similar to the ARCH_CPU option (above), except
83 that instead of specifying the actual target processor type, and hence
84 restricting which instructions can be used, it specifies that GCC should
85 tune the performance of the code as if the target were of the type
86 specified in this option, but still choosing the instructions that it
87 will generate based on the cpu specified by the ARCH_CPU option
88 (above), or a (command-line) -mcpu= option.
90 Pick a value from the gcc manual for your choosen gcc version and your
93 Leave blank if you don't know, or if your target architecture does not
98 prompt "Achitecture level"
101 GCC uses this name to determine what kind of instructions it can emit
102 when generating assembly code. This option can be used in conjunction
103 with or instead of the ARCH_CPU option (above), or a (command-line)
106 Pick a value from the gcc manual for your choosen gcc version and your
109 Leave blank if you don't know, or if your target architecture does not
117 On some targets (eg. ARM), you can specify the kind of FPU to emit
120 See below wether to actually emit FP opcodes, or to emulate them.
122 Pick a value from the gcc manual for your choosen gcc version and your
125 Leave blank if you don't know, or if your target architecture does not
130 prompt "Floating point:"
134 prompt "hardware (FPU)"
136 Emit hardware floating point opcodes.
138 If you've got a processor with a FPU, then you want that.
139 If your hardware has no FPU, you still can use HW floating point, but
140 need to compile support for FPU emulation in your kernel. Needless to
141 say that emulating the FPU is /slooowwwww/...
143 One situation you'd want HW floating point without a FPU is if you get
144 binary blobs from different vendors that are compiling this way and
145 can't (don't wan't to) change.
151 Do not emit any hardware floating point opcode.
153 If your processor has no FPU, then you most probably want this, as it
154 is faster than emulating the FPU in the kernel.
158 config ARCH_FLOAT_SW_LIBFLOAT
160 prompt "Use libfloat"
162 depends on ARCH_FLOAT_SW
164 For those targets upporting it, you can use libfloat for the software
165 floating point emulation.
167 Note that some versions of gcc have support code that supersedes libfloat,
168 while others don't. Known version of gcc that don't have support code are
169 versions prior to 3.0, and version above 4.0.
171 You should check gcc before deciding to use libfloat.
175 prompt "Default target CFLAGS"
178 Used to add specific options when compiling libraries of the toolchain,
179 that will run on the target (eg. libc.so).
181 Note that the options above for CPU, tune, arch and FPU will be
182 automaticaly used. You don't need to specify them here.
184 Leave blank if you don't know better.
186 comment "Toolchain options"
190 prompt "Use sysroot'ed toolchain"
193 Use the 'shinny new' sysroot feature of gcc: libraries split between
194 prefix/target/sys-root/lib and prefix/target/sys-root/usr/lib
196 You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
200 prompt "Build shared libraries"
203 Say 'y' here, unless you don't want shared libraries.
205 You might not want shared librries if you're building for a target that
206 don't support it (maybe some nommu targets, for example, or bare metal).
208 config TARGET_MULTILIB
210 # prompt "Enable 'multilib' support (EXPERIMENTAL)"
213 Enable the so-called 'multilib' support.
215 With the same toolchain, and on some architectures, you will be able to
216 build big and little endian binaries, soft- and hard-float, etc...
218 See the gcc configure manual at http://gcc.gnu.org/install/configure.html
219 to see what multilib your target supports.
221 It's preferable for now to build two (or more) toolchains, one for each
222 configuration you need to support (eg. one for thumb and one for ARM,
223 etc...). You can use the vendor string to diferentiate those toolchains.
227 prompt "Vendor string"
230 Vendor part of the machine triplet.
232 A triplet is of the form arch-vendor-kernel-system.
233 You can set the second part, vendor, to whatever you see fit.
234 Use a single word, or use underscores "_" to separate words.
236 Keep the default (unkown) if you don't know better.
240 prompt "Target alias"
243 Normaly, you'd call your toolchain component (especially gcc) by
244 prefixing the target triplet followed by a dash and the component name
245 (eg. armeb-unknown-linux-uclibc-gcc).
247 You can enter a shortcut here. This string will be used to create
248 symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
249 then gcc for your toolchain will also be available as "foo-bar-gcc" along
250 with the original name).
252 You shouldn't need to enter anything here, unless you plan to manually
253 call the tools (autotools-based ./configure will use the standard name).
257 default "arm" if ARCH_ARM
258 default "mips" if ARCH_MIPS
259 default "x86" if ARCH_x86
260 default "x86_64" if ARCH_x86_64
264 prompt "Build system triplet"
267 Canonical name of the machine building the toolchain.
268 You should leave empty, unless you really now what you're doing.
275 The native C compiler.
277 You can set this to an alternative compiler if you have more than one
278 installed (eg. gcc is gcc-4.1.1 and you want to use gcc-3.4.6).
280 You can leave this empty as well, in which case gcc will be used.
284 prompt "Canadian build (EXPERIMENTAL)"
287 A canadian build allows to build a compiler on a first machine
288 (build system), that will run on second machine (host system),
289 targetting a third machine (target system).
291 An example where you'd want a candian cross-compiler is to create
292 a native compiler for your target. In this case host and target
297 prompt "Host system triplet"
301 Canonical name of the machine serving as host.
305 prompt "Host system compiler"
306 default "${CT_HOST}-"
309 C compiler targeting the host system.
310 If HOST_CC ends with a dash (-), then it is considered to be the
311 prefix to gcc (eg. x86-pc-linuc-gnu-).
312 If it is empty, it is formed by appending '-gcc' to HOST.
313 Else it is considered to be the complete name of the compiler, with
314 full path, or without path (provided that it can be found in PATH).