OSDN Git Service

Config.in.arch: enable long double math for xtensa
[uclinux-h8/uClibc.git] / extra / Configs / Config.in.arch
1 #
2 # For a description of the syntax of this configuration file,
3 # see extra/config/Kconfig-language.txt
4 #
5
6
7 #
8 # Binary format
9 #
10 if !ARCH_USE_MMU
11 choice
12         prompt "Target File Format"
13 config UCLIBC_FORMAT_FDPIC_ELF
14         bool "FDPIC ELF"
15         depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv)
16         select DOPIC
17 config UCLIBC_FORMAT_DSBT_ELF
18         bool "DBST ELF"
19         depends on !ARCH_USE_MMU && TARGET_c6x
20         select DOPIC
21 config UCLIBC_FORMAT_FLAT
22         bool "STATIC FLAT"
23         depends on !ARCH_USE_MMU
24         select ARCH_HAS_NO_LDSO
25 config UCLIBC_FORMAT_FLAT_SEP_DATA
26         bool "STATIC FLAT (sep-data)"
27         depends on !ARCH_USE_MMU
28         select ARCH_HAS_NO_LDSO
29 config UCLIBC_FORMAT_SHARED_FLAT
30         bool "SHARED FLAT"
31         depends on !ARCH_USE_MMU
32         select ARCH_HAS_NO_LDSO
33         help
34           Pick this one if you are using uClinux and wish to build
35           uClibc as a flat-format shared library.
36 endchoice
37 endif
38 if ARCH_USE_MMU
39 comment "Using ELF file format"
40 endif
41
42 config ARCH_HAS_DEPRECATED_SYSCALLS
43         bool
44         help
45           New architectures do not support deprecated system calls. However,
46           these system calls are needed to build linuxthreads (old and new) so
47           this symbol controls whether there is support for these threading libraries
48           or not.
49
50 config UCLIBC_SHARED_FLAT_ID
51         int "Shared library ID"
52         default 1
53         depends on UCLIBC_FORMAT_SHARED_FLAT
54         help
55           When using flat shared libraries, every library has a unique
56           system-wide identifier.  Identifier 0 is reserved for
57           executables and true shared libraries have identifiers
58           starting at 1.  The maximum shared library identifier is
59           determined by the kernel and is usually 3.  Shared library
60           N must be available on the target system as "/lib/libN.so".
61
62           When a shared C library is used, it usually has identifier 1,
63           but you can use this option to select a different identifier
64           if you need to.
65
66
67
68 #
69 # Endian Format
70 #
71 config ARCH_ANY_ENDIAN
72         bool
73 config ARCH_BIG_ENDIAN
74         bool
75 config ARCH_LITTLE_ENDIAN
76         bool
77 if ARCH_ANY_ENDIAN
78 choice
79         prompt "Target Processor Endianness"
80         help
81           This is the endianness you wish to use.  Choose either Big
82           Endian, or Little Endian.
83 config ARCH_WANTS_BIG_ENDIAN
84         bool "Big Endian"
85         select ARCH_BIG_ENDIAN
86 config ARCH_WANTS_LITTLE_ENDIAN
87         bool "Little Endian"
88         select ARCH_LITTLE_ENDIAN
89 endchoice
90 endif
91 # if the arch only supports one endian, just display the setting
92 if !ARCH_ANY_ENDIAN && ARCH_LITTLE_ENDIAN
93 comment "Using Little Endian"
94 endif
95 if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
96 comment "Using Big Endian"
97 endif
98
99 config ARCH_HAS_NO_MMU
100         bool
101 if ARCH_HAS_NO_MMU
102 comment "Target CPU lacks a memory management unit (MMU)"
103 endif
104
105 config ARCH_HAS_MMU
106         bool "Target CPU has a memory management unit (MMU)"
107         depends on !ARCH_HAS_NO_MMU
108         default y
109         help
110           If your target CPU does not have a memory management unit (MMU), 
111           then answer N here.  Normally, Linux runs on systems with an MMU.  
112           If you are building a uClinux system, answer N.
113
114           Most people will answer Y.
115
116 config ARCH_USE_MMU
117         bool "Do you want to utilize the MMU?"
118         depends on ARCH_HAS_MMU
119         default y
120         help
121           If your target CPU has a MMU, and you wish to actually utilize it,
122           then answer Y here.  Normal Linux requires an MMU.
123
124           If you're unsure, answer Y.
125
126 config UCLIBC_HAS_FLOATS
127         bool "Enable floating point number support"
128         default y
129         help
130           This option allows you to entirely omit all floating point number
131           support from uClibc.  This will cause floating point functions like
132           strtod() to be omitted from uClibc.  Other floating point functions, 
133           such as printf() and scanf() will still be included in the library, 
134           but will not contain support for floating point numbers.
135
136           Answering N to this option can reduce the size of uClibc.
137           Most people will answer Y.
138
139 config UCLIBC_HAS_FPU
140         bool "Target CPU has a floating point unit (FPU)"
141         default y
142         help
143           If your target CPU does not have a Floating Point Unit (FPU) or a
144           kernel FPU emulator, but you still wish to support floating point
145           functions, then uClibc will need to be compiled with soft floating
146           point support (-msoft-float).  If your target CPU does not have an
147           FPU or an FPU emulator within the Linux kernel, then you should
148           answer N.
149
150           Most people will answer Y.
151
152 config UCLIBC_HAS_SOFT_FLOAT
153         bool
154         depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
155         default y
156
157 config DO_C99_MATH
158         bool "Enable full C99 math library support"
159         depends on UCLIBC_HAS_FLOATS
160         help
161           If you want the uClibc math library to contain the full set C99
162           math library features, then answer Y.  If you leave this set to
163           N the math library will contain only the math functions that were
164           listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard.
165           Leaving this option set to N will save around 35k on an x86 system.
166
167           If your applications require the newer C99 math library functions, 
168           then answer Y.
169
170 config DO_XSI_MATH
171         bool "Enable XSI math extensions to the ISO C standard (bessel)"
172         depends on UCLIBC_HAS_FLOATS
173         help
174           X/Open System Interfaces extensions to ISO C math functions
175           (differential equation functions):
176
177           j0, j1, jn - Bessel functions of the first kind
178           y0, y1, yn - Bessel functions of the second kind
179
180 config UCLIBC_HAS_FENV
181         bool "Enable C99 Floating-point environment"
182         depends on UCLIBC_HAS_FLOATS
183         help
184           If you want the uClibc math library to contain the C99 floating
185           point environment, rounding and exception handling functions then
186           say Y here.
187
188           NOTE: Supported architectures currently include:
189                 i386
190
191 config UCLIBC_HAS_LONG_DOUBLE_MATH
192         bool "Enable long double support"
193         depends on DO_C99_MATH
194         depends on TARGET_i386 || TARGET_m68k || TARGET_sparc || TARGET_x86_64 || TARGET_powerpc || TARGET_sh || TARGET_microblaze || TARGET_xtensa
195         default y
196         help
197           If you want the uClibc math library to contain the full set of C99
198           long double math library features, then answer Y. Don't enable it
199           for sparc w/ 32bit ABI.
200
201 config KERNEL_HEADERS
202         string "Linux kernel header location"
203         default ""
204         help
205           The kernel source you use to compile with should be the same
206           as the Linux kernel you run your apps on.  uClibc doesn't even
207           try to achieve binary compatibility across kernel versions.
208           So don't expect, for example, uClibc compiled with Linux kernel
209           2.0.x to implement lchown properly, since 2.0.x can't do that.
210           Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
211           but then run on Linux 2.0.x, lchown will be compiled into uClibc,
212           but won't work at all.  You have been warned.
213
214           If you don't set this, we'll assume the toolchain can find them.
215
216 config UCLIBC_UCLINUX_BROKEN_MUNMAP
217         bool
218         depends on !ARCH_USE_MMU
219         default y
220
221 config HAVE_DOT_CONFIG
222         bool
223         default y