2 # For a description of the syntax of this configuration file,
3 # see extra/config/Kconfig-language.txt
8 default "e500" if CONFIG_E500
9 default "classic" if CONFIG_CLASSIC
10 default "sh4" if CONFIG_SH4
18 prompt "Target File Format"
19 config UCLIBC_FORMAT_ELF
21 depends on ARCH_USE_MMU
22 config UCLIBC_FORMAT_FDPIC_ELF
24 depends on !ARCH_USE_MMU
26 config UCLIBC_FORMAT_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
36 depends on !ARCH_USE_MMU
37 select ARCH_HAS_NO_LDSO
39 Pick this one if you are using uClinux and wish to build
40 uClibc as a flat-format shared library.
44 comment "Using ELF file format"
47 config UCLIBC_SHARED_FLAT_ID
48 int "Shared library ID"
50 depends on UCLIBC_FORMAT_SHARED_FLAT
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".
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
68 config ARCH_ANY_ENDIAN
70 config ARCH_BIG_ENDIAN
72 config ARCH_LITTLE_ENDIAN
76 prompt "Target Processor Endianness"
78 This is the endianness you wish to use. Choose either Big
79 Endian, or Little Endian.
80 config ARCH_WANTS_BIG_ENDIAN
82 select ARCH_BIG_ENDIAN
83 config ARCH_WANTS_LITTLE_ENDIAN
85 select ARCH_LITTLE_ENDIAN
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"
92 if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
93 comment "Using Big Endian"
96 config ARCH_HAS_NO_MMU
99 comment "Target CPU lacks a memory management unit (MMU)"
103 bool "Target CPU has a memory management unit (MMU)"
104 depends on !ARCH_HAS_NO_MMU
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.
111 Most people will answer Y.
114 bool "Do you want to utilize the MMU?"
115 depends on ARCH_HAS_MMU
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.
121 If you're unsure, answer Y.
123 config UCLIBC_HAS_FLOATS
124 bool "Enable floating point number support"
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.
133 Answering N to this option can reduce the size of uClibc.
134 Most people will answer Y.
136 config UCLIBC_HAS_FPU
137 bool "Target CPU has a floating point unit (FPU)"
138 depends on UCLIBC_HAS_FLOATS
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
148 Most people will answer Y.
150 config UCLIBC_HAS_SOFT_FLOAT
152 depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
156 bool "Enable full C99 math library support"
157 depends on UCLIBC_HAS_FLOATS
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.
166 If your applications require the newer C99 math library functions,
169 config UCLIBC_HAS_FENV
170 bool "Enable C99 Floating-point environment"
171 depends on UCLIBC_HAS_FLOATS
174 If you want the uClibc math library to contain the C99 floating
175 point environment, rounding and exception handling functions then
178 NOTE: Supported architectures currently include:
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
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.
191 config KERNEL_HEADERS
192 string "Linux kernel header location"
193 default "/usr/include"
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.
204 config UCLIBC_UCLINUX_BROKEN_MUNMAP
206 depends on !ARCH_USE_MMU