2 # For a description of the syntax of this configuration file,
3 # see extra/config/Kconfig-language.txt
12 prompt "Target File Format"
13 config UCLIBC_FORMAT_FDPIC_ELF
15 depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv || TARGET_arm)
17 config UCLIBC_FORMAT_DSBT_ELF
19 depends on !ARCH_USE_MMU && TARGET_c6x
21 config UCLIBC_FORMAT_FLAT
23 depends on !ARCH_USE_MMU && !TARGET_frv
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 && !TARGET_frv
28 select ARCH_HAS_NO_LDSO
29 config UCLIBC_FORMAT_SHARED_FLAT
31 depends on !ARCH_USE_MMU && !TARGET_frv
32 select ARCH_HAS_NO_LDSO
34 Pick this one if you are using uClinux and wish to build
35 uClibc as a flat-format shared library.
39 comment "Using ELF file format"
42 config ARCH_HAS_DEPRECATED_SYSCALLS
45 New architectures do not support deprecated system calls. However,
46 these system calls are needed to build linuxthreads so
47 this symbol controls whether there is support for these threading libraries
50 config UCLIBC_SHARED_FLAT_ID
51 int "Shared library ID"
53 depends on UCLIBC_FORMAT_SHARED_FLAT
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".
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
71 config ARCH_ANY_ENDIAN
73 config ARCH_BIG_ENDIAN
75 config ARCH_LITTLE_ENDIAN
79 prompt "Target Processor Endianness"
81 This is the endianness you wish to use. Choose either Big
82 Endian, or Little Endian.
83 config ARCH_WANTS_BIG_ENDIAN
85 select ARCH_BIG_ENDIAN
86 config ARCH_WANTS_LITTLE_ENDIAN
88 select ARCH_LITTLE_ENDIAN
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"
95 if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
96 comment "Using Big Endian"
99 config ARCH_HAS_NO_MMU
102 comment "Target CPU lacks a memory management unit (MMU)"
106 bool "Target CPU has a memory management unit (MMU)"
107 depends on !ARCH_HAS_NO_MMU
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.
114 Most people will answer Y.
117 bool "Do you want to utilize the MMU?"
118 depends on ARCH_HAS_MMU
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.
124 If you're unsure, answer Y.
126 config UCLIBC_HAS_FLOATS
127 bool "Enable floating point number support"
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.
136 Answering N to this option can reduce the size of uClibc.
137 Most people will answer Y.
139 config UCLIBC_HAS_FPU
140 bool "Target CPU has a floating point unit (FPU)"
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
150 Most people will answer Y.
152 config UCLIBC_HAS_SOFT_FLOAT
154 depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
158 bool "Enable full C99 math library support"
159 depends on UCLIBC_HAS_FLOATS
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.
167 If your applications require the newer C99 math library functions,
171 bool "Enable XSI math extensions to the ISO C standard (bessel)"
172 depends on UCLIBC_HAS_FLOATS
174 X/Open System Interfaces extensions to ISO C math functions
175 (differential equation functions):
177 j0, j1, jn - Bessel functions of the first kind
178 y0, y1, yn - Bessel functions of the second kind
180 config UCLIBC_HAS_FENV
181 bool "Enable C99 Floating-point environment"
182 depends on UCLIBC_HAS_FLOATS
183 depends on TARGET_i386 || \
186 (TARGET_powerpc && CONFIG_E500) || \
189 If you want the uClibc math library to contain the C99 floating
190 point environment, rounding and exception handling functions then
193 config UCLIBC_HAS_LONG_DOUBLE_MATH
194 bool "Enable long double support"
195 depends on DO_C99_MATH
198 If you want the uClibc math library to contain the full set of C99
199 long double math library features, then answer Y.
200 Danger: These are only wrappers to the double library functions!
202 config KERNEL_HEADERS
203 string "Linux kernel header location"
206 The kernel source you use to compile with should be the same
207 as the Linux kernel you run your apps on. uClibc doesn't even
208 try to achieve binary compatibility across kernel versions.
209 So don't expect, for example, uClibc compiled with Linux kernel
210 2.0.x to implement lchown properly, since 2.0.x can't do that.
211 Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
212 but then run on Linux 2.0.x, lchown will be compiled into uClibc,
213 but won't work at all. You have been warned.
215 If you don't set this, we'll assume the toolchain can find them.
217 config UCLIBC_UCLINUX_BROKEN_MUNMAP
219 depends on !ARCH_USE_MMU
222 config HAVE_DOT_CONFIG