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
19 config UCLIBC_FORMAT_FLAT
21 depends on !ARCH_USE_MMU
22 select ARCH_HAS_NO_LDSO
23 config UCLIBC_FORMAT_FLAT_SEP_DATA
24 bool "STATIC FLAT (sep-data)"
25 depends on !ARCH_USE_MMU
26 select ARCH_HAS_NO_LDSO
27 config UCLIBC_FORMAT_SHARED_FLAT
29 depends on !ARCH_USE_MMU
30 select ARCH_HAS_NO_LDSO
32 Pick this one if you are using uClinux and wish to build
33 uClibc as a flat-format shared library.
37 comment "Using ELF file format"
40 config UCLIBC_SHARED_FLAT_ID
41 int "Shared library ID"
43 depends on UCLIBC_FORMAT_SHARED_FLAT
45 When using flat shared libraries, every library has a unique
46 system-wide identifier. Identifier 0 is reserved for
47 executables and true shared libraries have identifiers
48 starting at 1. The maximum shared library identifier is
49 determined by the kernel and is usually 3. Shared library
50 N must be available on the target system as "/lib/libN.so".
52 When a shared C library is used, it usually has identifier 1,
53 but you can use this option to select a different identifier
61 config ARCH_ANY_ENDIAN
63 config ARCH_BIG_ENDIAN
65 config ARCH_LITTLE_ENDIAN
69 prompt "Target Processor Endianness"
71 This is the endianness you wish to use. Choose either Big
72 Endian, or Little Endian.
73 config ARCH_WANTS_BIG_ENDIAN
75 select ARCH_BIG_ENDIAN
76 config ARCH_WANTS_LITTLE_ENDIAN
78 select ARCH_LITTLE_ENDIAN
81 # if the arch only supports one endian, just display the setting
82 if !ARCH_ANY_ENDIAN && ARCH_LITTLE_ENDIAN
83 comment "Using Little Endian"
85 if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
86 comment "Using Big Endian"
89 config ARCH_HAS_NO_MMU
92 comment "Target CPU lacks a memory management unit (MMU)"
96 bool "Target CPU has a memory management unit (MMU)"
97 depends !ARCH_HAS_NO_MMU
100 If your target CPU does not have a memory management unit (MMU),
101 then answer N here. Normally, Linux runs on systems with an MMU.
102 If you are building a uClinux system, answer N.
104 Most people will answer Y.
107 bool "Do you want to utilize the MMU?"
108 depends on ARCH_HAS_MMU
111 If your target CPU has a MMU, and you wish to actually utilize it,
112 then answer Y here. Normal Linux requires an MMU.
114 If you're unsure, answer Y.
116 config UCLIBC_HAS_FLOATS
117 bool "Enable floating point number support"
120 This option allows you to entirely omit all floating point number
121 support from uClibc. This will cause floating point functions like
122 strtod() to be omitted from uClibc. Other floating point functions,
123 such as printf() and scanf() will still be included in the library,
124 but will not contain support for floating point numbers.
126 Answering N to this option can reduce the size of uClibc.
127 Most people will answer Y.
129 config UCLIBC_HAS_FPU
130 bool "Target CPU has a floating point unit (FPU)"
131 depends on UCLIBC_HAS_FLOATS
134 If your target CPU does not have a Floating Point Unit (FPU) or a
135 kernel FPU emulator, but you still wish to support floating point
136 functions, then uClibc will need to be compiled with soft floating
137 point support (-msoft-float). If your target CPU does not have an
138 FPU or an FPU emulator within the Linux kernel, then you should
141 Most people will answer Y.
143 config UCLIBC_HAS_SOFT_FLOAT
145 depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
149 bool "Enable full C99 math library support"
150 depends on UCLIBC_HAS_FLOATS
153 If you want the uClibc math library to contain the full set C99
154 math library features, then answer Y. If you leave this set to
155 N the math library will contain only the math functions that were
156 listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard.
157 Leaving this option set to N will save around 35k on an x86 system.
159 If your applications require the newer C99 math library functions,
162 config UCLIBC_HAS_FENV
163 bool "Enable C99 Floating-point environment"
164 depends on UCLIBC_HAS_FLOATS
167 If you want the uClibc math library to contain the C99 floating
168 point environment, rounding and exception handling functions then
171 config KERNEL_HEADERS
172 string "Linux kernel header location"
173 default "/usr/include"
175 The kernel source you use to compile with should be the same
176 as the Linux kernel you run your apps on. uClibc doesn't even
177 try to achieve binary compatibility across kernel versions.
178 So don't expect, for example, uClibc compiled with Linux kernel
179 2.0.x to implement lchown properly, since 2.0.x can't do that.
180 Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
181 but then run on Linux 2.0.x, lchown will be compiled into uClibc,
182 but won't work at all. You have been warned.
184 config UCLIBC_UCLINUX_BROKEN_MUNMAP
186 depends on !ARCH_USE_MMU
191 depends on !ARCH_USE_MMU
194 config HAVE_DOT_CONFIG