add support for alternative C libraries (currently only glibc/eglibc) other (related...
[openwrt/staging/lynxis/omap.git] / toolchain / Config.in
1 #
2 config NATIVE_TOOLCHAIN
3 bool
4 prompt "Use host's toolchain" if DEVEL && BROKEN
5 default n
6 help
7 If enabled, OpenWrt will compile using your existing toolchain instead of compiling one
8
9 menuconfig TOOLCHAINOPTS
10 bool "Toolchain Options" if DEVEL
11 depends !NATIVE_TOOLCHAIN
12
13 menuconfig EXTRA_TARGET_ARCH
14 bool
15 prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
16 default n
17 help
18 Some builds may require a 'biarch' toolchain. This option
19 allows you to specify an additional target arch.
20
21 Most people will answer N here.
22
23 config EXTRA_TARGET_ARCH_NAME
24 string
25 prompt "Extra architecture name" if EXTRA_TARGET_ARCH
26 help
27 Specify the cpu name (eg powerpc64 or x86_64) of the
28 additional target architecture.
29
30 config EXTRA_TARGET_ARCH_OPTS
31 string
32 prompt "Extra architecture compiler options" if EXTRA_TARGET_ARCH
33 help
34 If you're specifying an addition target architecture,
35 you'll probably need to also provide options to make
36 the compiler use this alternate arch.
37
38 For example, if you're building a compiler that can build
39 both powerpc and powerpc64 binaries, you'll need to
40 specify -m64 here.
41
42 source "toolchain/binutils/Config.in"
43 source "toolchain/gcc/Config.in"
44
45 choice
46 prompt "LIBC implementation" if TOOLCHAINOPTS
47 default USE_UCLIBC
48 help
49 Select the LIBC implementation.
50
51 config USE_EGLIBC
52 bool "Use eglibc"
53 depends !avr32
54 select NO_STRIP
55
56 config USE_GLIBC
57 bool "Use glibc"
58 depends !avr32
59 select NO_STRIP
60
61 config USE_UCLIBC
62 bool "Use uClibc"
63
64 endchoice
65
66 source "toolchain/eglibc/Config.in"
67 source "toolchain/glibc/Config.in"
68 source "toolchain/uClibc/Config.in"
69
70 config GDB
71 bool
72 prompt "Build gdb" if TOOLCHAINOPTS
73 default n
74 help
75 Enable if you want to build the gdb
76
77 config LARGEFILE
78 bool
79 prompt "Enable large file (files > 2 GB) support?" if TOOLCHAINOPTS
80 default y
81 help
82 Enable large file (files > 2 GB) support
83
84 config SHADOW_PASSWORDS
85 bool
86 prompt "Enable shadow password support?" if TOOLCHAINOPTS
87 default y
88 help
89 Enable shadow password support.
90
91 config SOFT_FLOAT
92 bool
93 prompt "Use software floating point by default" if TOOLCHAINOPTS
94 default y
95 depends on (arm || armeb || powerpc) && !HAS_FPU
96 help
97 If your target CPU does not have a Floating Point Unit (FPU) or a
98 kernel FPU emulator, but you still wish to support floating point
99 functions, then everything will need to be compiled with soft floating
100 point support (-msoft-float).
101
102 Most people will answer N.
103
104 config TARGET_OPTIMIZATION
105 string
106 prompt "Target Optimizations" if TOOLCHAINOPTS
107 default "-O2 -pipe -march=i686 -funit-at-a-time" if TARGET_x86_mediacenter
108 default "-O2 -pipe -march=i486 -funit-at-a-time" if TARGET_x86
109 default "-Os -pipe -march=i486 -funit-at-a-time" if TARGET_rdc || TARGET_uml
110 default "-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time" if TARGET_ar71xx
111 default "-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time" if mipsel || mips
112 default "-Os -pipe -march=armv5te -mtune=xscale -funit-at-a-time" if TARGET_ixp4xx || TARGET_iop32x || TARGET_pxa || TARGET_orion
113 default "-Os -pipe -march=armv4 -mtune=arm9tdmi -funit-at-a-time" if TARGET_storm
114 default "-Os -pipe -funit-at-a-time"
115 help
116 Optimizations to use when building for the target host.
117
118 config USE_UCLIBC
119 bool
120 default y if !TOOLCHAINOPTS
121
122 source "toolchain/gcc/Config.version"
123
124 source "toolchain/eglibc/Config.version"
125 source "toolchain/glibc/Config.version"
126 source "toolchain/uClibc/Config.version"
127
128 config LIBC
129 string
130 default "eglibc" if USE_EGLIBC
131 default "glibc" if USE_GLIBC
132 default "uClibc" if USE_UCLIBC
133
134 config LIBC_VERSION
135 string
136 default EGLIBC_VERSION if USE_EGLIBC
137 default GLIBC_VERSION if USE_GLIBC
138 default UCLIBC_VERSION if USE_UCLIBC
139
140 config TARGET_SUFFIX
141 string
142 default "gnueabi" if (USE_EGLIBC || USE_GLIBC) && EABI_SUPPORT
143 default "gnu" if (USE_EGLIBC || USE_GLIBC) && !EABI_SUPPORT
144 default "uclibc-gnueabi" if USE_UCLIBC && EABI_SUPPORT
145 default "uclibc" if USE_UCLIBC && !EABI_SUPPORT
146