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
14 bool "ELF (using ELF_FDPIC loader)"
15 depends on !ARCH_USE_MMU && (TARGET_arm || TARGET_m68k || \
16 TARGET_riscv32 || TARGET_riscv64)
19 select ARCH_HAS_NO_SHARED
21 config UCLIBC_FORMAT_FDPIC_ELF
23 depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv || TARGET_arm || TARGET_xtensa)
25 config UCLIBC_FORMAT_DSBT_ELF
27 depends on !ARCH_USE_MMU && TARGET_c6x
29 config UCLIBC_FORMAT_FLAT
31 depends on !ARCH_USE_MMU && !TARGET_frv
32 select ARCH_HAS_NO_LDSO
33 config UCLIBC_FORMAT_FLAT_SEP_DATA
34 bool "STATIC FLAT (sep-data)"
35 depends on !ARCH_USE_MMU && !TARGET_frv
36 select ARCH_HAS_NO_LDSO
40 comment "Using ELF file format"
43 config ARCH_HAS_DEPRECATED_SYSCALLS
46 New architectures do not support deprecated system calls. However,
47 these system calls are needed to build linuxthreads so
48 this symbol controls whether there is support for these threading libraries
54 config ARCH_ANY_ENDIAN
56 config ARCH_BIG_ENDIAN
58 config ARCH_LITTLE_ENDIAN
62 prompt "Target Processor Endianness"
64 This is the endianness you wish to use. Choose either Big
65 Endian, or Little Endian.
66 config ARCH_WANTS_BIG_ENDIAN
68 select ARCH_BIG_ENDIAN
69 config ARCH_WANTS_LITTLE_ENDIAN
71 select ARCH_LITTLE_ENDIAN
74 # if the arch only supports one endian, just display the setting
75 if !ARCH_ANY_ENDIAN && ARCH_LITTLE_ENDIAN
76 comment "Using Little Endian"
78 if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
79 comment "Using Big Endian"
82 config ARCH_HAS_NO_MMU
85 comment "Target CPU lacks a memory management unit (MMU)"
89 bool "Target CPU has a memory management unit (MMU)"
90 depends on !ARCH_HAS_NO_MMU
93 If your target CPU does not have a memory management unit (MMU),
94 then answer N here. Normally, Linux runs on systems with an MMU.
95 If you are building a uClinux system, answer N.
97 Most people will answer Y.
100 bool "Do you want to utilize the MMU?"
101 depends on ARCH_HAS_MMU
104 If your target CPU has a MMU, and you wish to actually utilize it,
105 then answer Y here. Normal Linux requires an MMU.
107 If you're unsure, answer Y.
109 config UCLIBC_HAS_FLOATS
110 bool "Enable floating point number support"
113 This option allows you to entirely omit all floating point number
114 support from uClibc. This will cause floating point functions like
115 strtod() to be omitted from uClibc. Other floating point functions,
116 such as printf() and scanf() will still be included in the library,
117 but will not contain support for floating point numbers.
119 Answering N to this option can reduce the size of uClibc.
120 Most people will answer Y.
122 config UCLIBC_HAS_FPU
123 bool "Target CPU has a floating point unit (FPU)"
126 If your target CPU does not have a Floating Point Unit (FPU) or a
127 kernel FPU emulator, but you still wish to support floating point
128 functions, then uClibc will need to be compiled with soft floating
129 point support (-msoft-float). If your target CPU does not have an
130 FPU or an FPU emulator within the Linux kernel, then you should
133 Most people will answer Y.
135 config UCLIBC_HAS_SOFT_FLOAT
137 depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
141 bool "Enable full C99 math library support"
142 depends on UCLIBC_HAS_FLOATS
144 If you want the uClibc math library to contain the full set C99
145 math library features, then answer Y. If you leave this set to
146 N the math library will contain only the math functions that were
147 listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard.
148 Leaving this option set to N will save around 35k on an x86 system.
150 If your applications require the newer C99 math library functions,
154 bool "Enable XSI math extensions to the ISO C standard (bessel)"
155 depends on UCLIBC_HAS_FLOATS
157 X/Open System Interfaces extensions to ISO C math functions
158 (differential equation functions):
160 j0, j1, jn - Bessel functions of the first kind
161 y0, y1, yn - Bessel functions of the second kind
163 config UCLIBC_HAS_FENV
164 bool "Enable C99 Floating-point environment"
165 depends on UCLIBC_HAS_FLOATS
166 depends on TARGET_i386 || \
169 (TARGET_powerpc && CONFIG_E500) || \
172 If you want the uClibc math library to contain the C99 floating
173 point environment, rounding and exception handling functions then
176 config UCLIBC_HAS_LONG_DOUBLE_MATH
177 bool "Enable long double support"
178 depends on DO_C99_MATH
181 If you want the uClibc math library to contain the full set of C99
182 long double math library features, then answer Y.
183 Danger: These are only wrappers to the double library functions!
185 config KERNEL_HEADERS
186 string "Linux kernel header location"
189 The kernel source you use to compile with should be the same
190 as the Linux kernel you run your apps on. uClibc doesn't even
191 try to achieve binary compatibility across kernel versions.
192 So don't expect, for example, uClibc compiled with Linux kernel
193 2.0.x to implement lchown properly, since 2.0.x can't do that.
194 Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
195 but then run on Linux 2.0.x, lchown will be compiled into uClibc,
196 but won't work at all. You have been warned.
198 If you don't set this, we'll assume the toolchain can find them.
200 config UCLIBC_UCLINUX_BROKEN_MUNMAP
202 depends on !ARCH_USE_MMU
205 config HAVE_DOT_CONFIG