1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
#
# For a description of the syntax of this configuration file,
# see extra/config/Kconfig-language.txt
#
#
# Binary format
#
if !KEMBTK_UCLIBC_ARCH_USE_MMU
choice
prompt "Target File Format"
config KEMBTK_UCLIBC_UCLIBC_FORMAT_ELF
bool "ELF"
depends on KEMBTK_UCLIBC_ARCH_USE_MMU
config KEMBTK_UCLIBC_UCLIBC_FORMAT_FDPIC_ELF
bool "FDPIC ELF"
depends on !KEMBTK_UCLIBC_ARCH_USE_MMU && (KEMBTK_UCLIBC_TARGET_bfin || KEMBTK_UCLIBC_TARGET_frv)
select KEMBTK_UCLIBC_DOPIC
config KEMBTK_UCLIBC_UCLIBC_FORMAT_DSBT_ELF
bool "DBST ELF"
depends on !KEMBTK_UCLIBC_ARCH_USE_MMU && KEMBTK_UCLIBC_TARGET_c6x
select KEMBTK_UCLIBC_DOPIC
config KEMBTK_UCLIBC_UCLIBC_FORMAT_FLAT
bool "STATIC FLAT"
depends on !KEMBTK_UCLIBC_ARCH_USE_MMU
select KEMBTK_UCLIBC_ARCH_HAS_NO_LDSO
config KEMBTK_UCLIBC_UCLIBC_FORMAT_FLAT_SEP_DATA
bool "STATIC FLAT (sep-data)"
depends on !KEMBTK_UCLIBC_ARCH_USE_MMU
select KEMBTK_UCLIBC_ARCH_HAS_NO_LDSO
config KEMBTK_UCLIBC_UCLIBC_FORMAT_SHARED_FLAT
bool "SHARED FLAT"
depends on !KEMBTK_UCLIBC_ARCH_USE_MMU
select KEMBTK_UCLIBC_ARCH_HAS_NO_LDSO
help
Pick this one if you are using uClinux and wish to build
uClibc as a flat-format shared library.
endchoice
endif
if KEMBTK_UCLIBC_ARCH_USE_MMU
comment "Using ELF file format"
endif
config KEMBTK_UCLIBC_UCLIBC_SHARED_FLAT_ID
int "Shared library ID"
default 1
depends on KEMBTK_UCLIBC_UCLIBC_FORMAT_SHARED_FLAT
help
When using flat shared libraries, every library has a unique
system-wide identifier. Identifier 0 is reserved for
executables and true shared libraries have identifiers
starting at 1. The maximum shared library identifier is
determined by the kernel and is usually 3. Shared library
N must be available on the target system as "/lib/libN.so".
When a shared C library is used, it usually has identifier 1,
but you can use this option to select a different identifier
if you need to.
#
# Endian Format
#
config KEMBTK_UCLIBC_ARCH_ANY_ENDIAN
bool
default n
config KEMBTK_UCLIBC_ARCH_BIG_ENDIAN
bool
default n
config KEMBTK_UCLIBC_ARCH_LITTLE_ENDIAN
bool
default n
if KEMBTK_UCLIBC_ARCH_ANY_ENDIAN
#choice
# prompt "Target Processor Endianness"
# help
# This is the endianness you wish to use. Choose either Big
# Endian, or Little Endian.
config KEMBTK_UCLIBC_ARCH_WANTS_BIG_ENDIAN
bool
default n
select KEMBTK_UCLIBC_ARCH_BIG_ENDIAN
config KEMBTK_UCLIBC_ARCH_WANTS_LITTLE_ENDIAN
bool
default n
select KEMBTK_UCLIBC_ARCH_LITTLE_ENDIAN
#endchoice
endif
# if the arch only supports one endian, just display the setting
if !KEMBTK_UCLIBC_ARCH_ANY_ENDIAN && KEMBTK_UCLIBC_ARCH_LITTLE_ENDIAN
comment "Using Little Endian"
endif
if !KEMBTK_UCLIBC_ARCH_ANY_ENDIAN && KEMBTK_UCLIBC_ARCH_BIG_ENDIAN
comment "Using Big Endian"
endif
config KEMBTK_UCLIBC_ARCH_HAS_NO_MMU
bool
if KEMBTK_UCLIBC_ARCH_HAS_NO_MMU
comment "Target CPU lacks a memory management unit (MMU)"
endif
config KEMBTK_UCLIBC_ARCH_HAS_MMU
bool "Target CPU has a memory management unit (MMU)"
depends on !KEMBTK_UCLIBC_ARCH_HAS_NO_MMU
default y
help
If your target CPU does not have a memory management unit (MMU),
then answer N here. Normally, Linux runs on systems with an MMU.
If you are building a uClinux system, answer N.
Most people will answer Y.
config KEMBTK_UCLIBC_ARCH_USE_MMU
bool "Do you want to utilize the MMU?"
depends on KEMBTK_UCLIBC_ARCH_HAS_MMU
default y
help
If your target CPU has a MMU, and you wish to actually utilize it,
then answer Y here. Normal Linux requires an MMU.
If you're unsure, answer Y.
config KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS
bool "Enable floating point number support"
default y
help
This option allows you to entirely omit all floating point number
support from uClibc. This will cause floating point functions like
strtod() to be omitted from uClibc. Other floating point functions,
such as printf() and scanf() will still be included in the library,
but will not contain support for floating point numbers.
Answering N to this option can reduce the size of uClibc.
Most people will answer Y.
config KEMBTK_UCLIBC_UCLIBC_HAS_FPU
bool
default n
help
If your target CPU does not have a Floating Point Unit (FPU) or a
kernel FPU emulator, but you still wish to support floating point
functions, then uClibc will need to be compiled with soft floating
point support (-msoft-float). If your target CPU does not have an
FPU or an FPU emulator within the Linux kernel, then you should
answer N.
Most people will answer Y.
config KEMBTK_UCLIBC_UCLIBC_HAS_SOFT_FLOAT
bool
depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS && !KEMBTK_UCLIBC_UCLIBC_HAS_FPU
default y
config KEMBTK_UCLIBC_DO_C99_MATH
bool "Enable full C99 math library support"
depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS
help
If you want the uClibc math library to contain the full set C99
math library features, then answer Y. If you leave this set to
N the math library will contain only the math functions that were
listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard.
Leaving this option set to N will save around 35k on an x86 system.
If your applications require the newer C99 math library functions,
then answer Y.
config KEMBTK_UCLIBC_DO_XSI_MATH
bool "Enable XSI math extensions to the ISO C standard (bessel)"
depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS
help
X/Open System Interfaces extensions to ISO C math functions
(differential equation functions):
j0, j1, jn - Bessel functions of the first kind
y0, y1, yn - Bessel functions of the second kind
config KEMBTK_UCLIBC_UCLIBC_HAS_FENV
bool
default n
depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS
help
If you want the uClibc math library to contain the C99 floating
point environment, rounding and exception handling functions then
say Y here.
NOTE: Supported architectures currently include:
i386
config KEMBTK_UCLIBC_UCLIBC_HAS_LONG_DOUBLE_MATH
bool "Enable long double support"
depends on KEMBTK_UCLIBC_DO_C99_MATH
depends on KEMBTK_UCLIBC_TARGET_i386 || KEMBTK_UCLIBC_TARGET_m68k || KEMBTK_UCLIBC_TARGET_sparc || KEMBTK_UCLIBC_TARGET_x86_64 || KEMBTK_UCLIBC_TARGET_powerpc || KEMBTK_UCLIBC_TARGET_sh
default y
help
If you want the uClibc math library to contain the full set of C99
long double math library features, then answer Y. Don't enable it
for sparc w/ 32bit ABI.
config KEMBTK_UCLIBC_KERNEL_HEADERS
string
default "/usr/include"
help
The kernel source you use to compile with should be the same
as the Linux kernel you run your apps on. uClibc doesn't even
try to achieve binary compatibility across kernel versions.
So don't expect, for example, uClibc compiled with Linux kernel
2.0.x to implement lchown properly, since 2.0.x can't do that.
Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
but then run on Linux 2.0.x, lchown will be compiled into uClibc,
but won't work at all. You have been warned.
config KEMBTK_UCLIBC_UCLIBC_UCLINUX_BROKEN_MUNMAP
bool
depends on !KEMBTK_UCLIBC_ARCH_USE_MMU
default y
config KEMBTK_UCLIBC_HAVE_DOT_CONFIG
bool
default y
|