ef909cc0d6a9355673540058b0440c06c4c21b67
[openwrt-10.03/.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 "uclibcgnueabi"   if USE_UCLIBC && EABI_SUPPORT
145         default "uclibc"          if USE_UCLIBC && !EABI_SUPPORT
146