Add gcc-4.1.2 and update associated patches.
1 # Target definition: architecture, optimisations, etc...
5 comment "General target options"
9 prompt "Target architecture:"
40 prompt "Little endian"
44 comment "Target optimisations"
48 prompt "Emit assembly for CPU"
51 This specifies the name of the target ARM processor. GCC uses this name
52 to determine what kind of instructions it can emit when generating
55 Pick a value from the gcc manual for your choosen gcc version and your
58 Leave blank if you don't know, or if your target architecture does not
66 This option is very similar to the ARCH_CPU option (above), except
67 that instead of specifying the actual target processor type, and hence
68 restricting which instructions can be used, it specifies that GCC should
69 tune the performance of the code as if the target were of the type
70 specified in this option, but still choosing the instructions that it
71 will generate based on the cpu specified by the ARCH_CPU option
72 (above), or a (command-line) -mcpu= option.
74 Pick a value from the gcc manual for your choosen gcc version and your
77 Leave blank if you don't know, or if your target architecture does not
82 prompt "Achitecture level"
85 GCC uses this name to determine what kind of instructions it can emit
86 when generating assembly code. This option can be used in conjunction
87 with or instead of the ARCH_CPU option (above), or a (command-line)
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
101 On some targets (eg. ARM), you can specify the kind of FPU to emit
104 See below wether to actually emit FP opcodes, or to emulate them.
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
114 prompt "Floating point:"
118 prompt "hardware (FPU)"
120 Emit hardware floating point opcodes.
122 If you've got a processor with a FPU, then you want that.
123 If your hardware has no FPU, you still can use HW floating point, but
124 need to compile support for FPU emulation in your kernel. Needless to
125 say that emulating the FPU is /slooowwwww/...
127 One situation you'd want HW floating point without a FPU is if you get
128 binary blobs from different vendors that are compiling this way and
129 can't (don't wan't to) change.
135 Do not emit any hardware floating point opcode.
137 If your processor has no FPU, then you most probably want this, as it
138 is faster than emulating the FPU in the kernel.
142 config ARCH_FLOAT_SW_LIBFLOAT
144 prompt "Use libfloat"
146 depends on ARCH_FLOAT_SW
148 For those targets upporting it, you can use libfloat for the software
149 floating point emulation.
151 Note that some versions of gcc have support code that supersedes libfloat,
152 while others don't. Known version of gcc that don't have support code are
153 versions prior to 3.0, and version above 4.0.
155 You should check gcc before deciding to use libfloat.
159 prompt "Default target CFLAGS"
162 Used to add specific options when compiling libraries of the toolchain,
163 that will run on the target (eg. libc.so).
165 Note that the options above for CPU, tune, arch and FPU will be
166 automaticaly used. You don't need to specify them here.
168 Leave blank if you don't know better.
170 comment "Toolchain options"
174 prompt "Use sysroot'ed toolchain"
177 Use the 'shinny new' sysroot feature of gcc: libraries split between
178 prefix/target/sys-root/lib and prefix/target/sys-root/usr/lib
180 You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
184 prompt "Build shared libraries"
187 Say 'y' here, unless you don't want shared libraries.
189 You might not want shared librries if you're building for a target that
190 don't support it (maybe some nommu targets, for example, or bare metal).
192 config TARGET_MULTILIB
194 # prompt "Enable 'multilib' support (EXPERIMENTAL)"
197 Enable the so-called 'multilib' support.
199 With the same toolchain, and on some architectures, you will be able to
200 build big and little endian binaries, soft- and hard-float, etc...
202 See the gcc configure manual at http://gcc.gnu.org/install/configure.html
203 to see what multilib your target supports.
205 It's preferable for now to build two (or more) toolchains, one for each
206 configuration you need to support (eg. one for thumb and one for ARM,
207 etc...). You can use the vendor string to diferentiate those toolchains.
211 prompt "Vendor string"
214 Vendor part of the machine triplet.
216 A triplet is of the form arch-vendor-kernel-system.
217 You can set the second part, vendor, to whatever you see fit.
218 Use a single word, or use underscores "_" to separate words.
220 Keep the default (unkown) if you don't know better.
224 prompt "Target alias"
227 Normaly, you'd call your toolchain component (especially gcc) by
228 prefixing the target triplet followed by a dash and the component name
229 (eg. armeb-unknown-linux-uclibc-gcc).
231 You can enter a shortcut here. This string will be used to create
232 symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
233 then gcc for your toolchain will also be available as "foo-bar-gcc" along
234 with the original name).
236 You shouldn't need to enter anything here, unless you plan to manually
237 call the tools (autotools-based ./configure will use the standard name).
241 default "arm" if ARCH_ARM
242 default "mips" if ARCH_MIPS
243 default "x86" if ARCH_x86
244 default "x86_64" if ARCH_x86_64
248 prompt "Build system triplet"
251 Canonical name of the machine building the toolchain.
252 You should leave empty, unless you really now what you're doing.
259 The native C compiler.
261 You can set this to an alternative compiler if you have more than one
262 installed (eg. gcc is gcc-4.1.1 and you want to use gcc-3.4.6).
264 You can leave this empty as well, in which case gcc will be used.
268 prompt "Canadian build (EXPERIMENTAL)"
271 A canadian build allows to build a compiler on a first machine
272 (build system), that will run on second machine (host system),
273 targetting a third machine (target system).
275 An example where you'd want a candian cross-compiler is to create
276 a native compiler for your target. In this case host and target
281 prompt "Host system triplet"
285 Canonical name of the machine serving as host.
289 prompt "Host system compiler"
290 default "${CT_HOST}-"
293 C compiler targeting the host system.
294 If HOST_CC ends with a dash (-), then it is considered to be the
295 prefix to gcc (eg. x86-pc-linuc-gnu-).
296 If it is empty, it is formed by appending '-gcc' to HOST.
297 Else it is considered to be the complete name of the compiler, with
298 full path, or without path (provided that it can be found in PATH).