OSDN Git Service

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