OSDN Git Service

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