use different optimizations for x86 & x86_64 on uml
[openwrt.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
110         default "-Os -pipe -march=i486 -funit-at-a-time" if TARGET_uml && i386
111         default "-Os -pipe -march=athlon64 -funit-at-a-time" if TARGET_uml && x86_64
112         default "-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time" if TARGET_ar71xx
113         default "-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time" if mipsel || mips
114         default "-Os -pipe -march=armv5te -mtune=xscale -funit-at-a-time" if TARGET_ixp4xx || TARGET_iop32x || TARGET_pxa || TARGET_orion
115         default "-Os -pipe -march=armv4 -mtune=arm9tdmi -funit-at-a-time" if TARGET_storm
116         default "-Os -pipe -funit-at-a-time"
117         help
118           Optimizations to use when building for the target host.
119
120 config USE_UCLIBC
121         bool
122         default y if !TOOLCHAINOPTS
123
124 source "toolchain/gcc/Config.version"
125
126 source "toolchain/eglibc/Config.version"
127 source "toolchain/glibc/Config.version"
128 source "toolchain/uClibc/Config.version"
129
130 config LIBC
131         string
132         default "eglibc"  if USE_EGLIBC
133         default "glibc"   if USE_GLIBC
134         default "uClibc"  if USE_UCLIBC
135
136 config LIBC_VERSION
137         string
138         default EGLIBC_VERSION  if USE_EGLIBC
139         default GLIBC_VERSION   if USE_GLIBC
140         default UCLIBC_VERSION  if USE_UCLIBC
141
142 config TARGET_SUFFIX
143         string
144         default "gnueabi"         if (USE_EGLIBC || USE_GLIBC) && EABI_SUPPORT
145         default "gnu"             if (USE_EGLIBC || USE_GLIBC) && !EABI_SUPPORT
146         default "uclibcgnueabi"   if USE_UCLIBC && EABI_SUPPORT
147         default "uclibc"          if USE_UCLIBC && !EABI_SUPPORT
148