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_ELF
15 depends on ARCH_USE_MMU
16 config UCLIBC_FORMAT_FDPIC_ELF
18 depends on !ARCH_USE_MMU
20 config UCLIBC_FORMAT_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
30 depends on !ARCH_USE_MMU
31 select ARCH_HAS_NO_LDSO
33 Pick this one if you are using uClinux and wish to build
34 uClibc as a flat-format shared library.
38 comment "Using ELF file format"
41 config UCLIBC_SHARED_FLAT_ID
42 int "Shared library ID"
44 depends on UCLIBC_FORMAT_SHARED_FLAT
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".
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
62 config ARCH_ANY_ENDIAN
64 config ARCH_BIG_ENDIAN
66 config ARCH_LITTLE_ENDIAN
70 prompt "Target Processor Endianness"
72 This is the endianness you wish to use. Choose either Big
73 Endian, or Little Endian.
74 config ARCH_WANTS_BIG_ENDIAN
76 select ARCH_BIG_ENDIAN
77 config ARCH_WANTS_LITTLE_ENDIAN
79 select ARCH_LITTLE_ENDIAN
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"
86 if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
87 comment "Using Big Endian"
90 config ARCH_HAS_NO_MMU
93 comment "Target CPU lacks a memory management unit (MMU)"
97 bool "Target CPU has a memory management unit (MMU)"
98 depends on !ARCH_HAS_NO_MMU
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.
105 Most people will answer Y.
108 bool "Do you want to utilize the MMU?"
109 depends on ARCH_HAS_MMU
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.
115 If you're unsure, answer Y.
117 config UCLIBC_HAS_FLOATS
118 bool "Enable floating point number support"
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.
127 Answering N to this option can reduce the size of uClibc.
128 Most people will answer Y.
130 config UCLIBC_HAS_FPU
131 bool "Target CPU has a floating point unit (FPU)"
132 depends on UCLIBC_HAS_FLOATS
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
142 Most people will answer Y.
144 config UCLIBC_HAS_SOFT_FLOAT
146 depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
150 bool "Enable full C99 math library support"
151 depends on UCLIBC_HAS_FLOATS
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.
160 If your applications require the newer C99 math library functions,
164 bool "Enable XSI math extensions to the ISO C standard (bessel)"
165 depends on UCLIBC_HAS_FLOATS
168 X/Open System Interfaces extensions to ISO C math functions
169 (differential equation functions):
171 j0, j1, jn - Bessel functions of the first kind
172 y0, y1, yn - Bessel functions of the second kind
174 config UCLIBC_HAS_FENV
175 bool "Enable C99 Floating-point environment"
176 depends on UCLIBC_HAS_FLOATS
179 If you want the uClibc math library to contain the C99 floating
180 point environment, rounding and exception handling functions then
183 NOTE: Supported architectures currently include:
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
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.
196 config KERNEL_HEADERS
197 string "Linux kernel header location"
198 default "/usr/include"
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.
209 config UCLIBC_UCLINUX_BROKEN_MUNMAP
211 depends on !ARCH_USE_MMU
214 config HAVE_DOT_CONFIG