1 |
1325 |
phoenix |
#
|
2 |
|
|
# For a description of the syntax of this configuration file,
|
3 |
|
|
# see extra/config/Kconfig-language.txt
|
4 |
|
|
#
|
5 |
|
|
mainmenu "uClibc C Library Configuration"
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
choice
|
9 |
|
|
prompt "Target Architecture"
|
10 |
|
|
default TARGET_i386
|
11 |
|
|
help
|
12 |
|
|
Stuff
|
13 |
|
|
|
14 |
|
|
config TARGET_alpha
|
15 |
|
|
bool "alpha"
|
16 |
|
|
|
17 |
|
|
config TARGET_arm
|
18 |
|
|
bool "arm"
|
19 |
|
|
|
20 |
|
|
config TARGET_cris
|
21 |
|
|
bool "cris"
|
22 |
|
|
|
23 |
|
|
config TARGET_e1
|
24 |
|
|
bool "e1"
|
25 |
|
|
|
26 |
|
|
config TARGET_h8300
|
27 |
|
|
bool "h8300"
|
28 |
|
|
|
29 |
|
|
config TARGET_i386
|
30 |
|
|
bool "i386"
|
31 |
|
|
|
32 |
|
|
config TARGET_i960
|
33 |
|
|
bool "i960"
|
34 |
|
|
|
35 |
|
|
config TARGET_m68k
|
36 |
|
|
bool "m68k"
|
37 |
|
|
|
38 |
|
|
config TARGET_microblaze
|
39 |
|
|
bool "microblaze"
|
40 |
|
|
|
41 |
|
|
config TARGET_mips
|
42 |
|
|
bool "mips"
|
43 |
|
|
|
44 |
|
|
config TARGET_or32
|
45 |
|
|
bool "or32"
|
46 |
|
|
|
47 |
|
|
config TARGET_powerpc
|
48 |
|
|
bool "powerpc"
|
49 |
|
|
|
50 |
|
|
config TARGET_sh
|
51 |
|
|
bool "SuperH"
|
52 |
|
|
|
53 |
|
|
config TARGET_sparc
|
54 |
|
|
bool "sparc"
|
55 |
|
|
|
56 |
|
|
config TARGET_v850
|
57 |
|
|
bool "v850"
|
58 |
|
|
|
59 |
|
|
endchoice
|
60 |
|
|
|
61 |
|
|
|
62 |
|
|
menu "Target Architecture Features and Options"
|
63 |
|
|
|
64 |
|
|
if TARGET_alpha
|
65 |
|
|
source "extra/Configs/Config.alpha"
|
66 |
|
|
endif
|
67 |
|
|
|
68 |
|
|
if TARGET_arm
|
69 |
|
|
source "extra/Configs/Config.arm"
|
70 |
|
|
endif
|
71 |
|
|
|
72 |
|
|
if TARGET_cris
|
73 |
|
|
source "extra/Configs/Config.cris"
|
74 |
|
|
endif
|
75 |
|
|
|
76 |
|
|
if TARGET_e1
|
77 |
|
|
source "extra/Configs/Config.e1"
|
78 |
|
|
endif
|
79 |
|
|
|
80 |
|
|
if TARGET_h8300
|
81 |
|
|
source "extra/Configs/Config.h8300"
|
82 |
|
|
endif
|
83 |
|
|
|
84 |
|
|
if TARGET_i386
|
85 |
|
|
source "extra/Configs/Config.i386"
|
86 |
|
|
endif
|
87 |
|
|
|
88 |
|
|
if TARGET_i960
|
89 |
|
|
source "extra/Configs/Config.i960"
|
90 |
|
|
endif
|
91 |
|
|
|
92 |
|
|
if TARGET_m68k
|
93 |
|
|
source "extra/Configs/Config.m68k"
|
94 |
|
|
endif
|
95 |
|
|
|
96 |
|
|
if TARGET_microblaze
|
97 |
|
|
source "extra/Configs/Config.microblaze"
|
98 |
|
|
endif
|
99 |
|
|
|
100 |
|
|
if TARGET_mips
|
101 |
|
|
source "extra/Configs/Config.mips"
|
102 |
|
|
endif
|
103 |
|
|
|
104 |
|
|
if TARGET_or32
|
105 |
|
|
source "extra/Configs/Config.or32"
|
106 |
|
|
endif
|
107 |
|
|
|
108 |
|
|
if TARGET_powerpc
|
109 |
|
|
source "extra/Configs/Config.powerpc"
|
110 |
|
|
endif
|
111 |
|
|
|
112 |
|
|
if TARGET_sh
|
113 |
|
|
source "extra/Configs/Config.sh"
|
114 |
|
|
endif
|
115 |
|
|
|
116 |
|
|
if TARGET_sparc
|
117 |
|
|
source "extra/Configs/Config.sparc"
|
118 |
|
|
endif
|
119 |
|
|
|
120 |
|
|
if TARGET_v850
|
121 |
|
|
source "extra/Configs/Config.v850"
|
122 |
|
|
endif
|
123 |
|
|
|
124 |
|
|
|
125 |
|
|
|
126 |
|
|
source "extra/Configs/Config.in.arch"
|
127 |
|
|
|
128 |
|
|
endmenu
|
129 |
|
|
|
130 |
|
|
menu "General Library Settings"
|
131 |
|
|
|
132 |
|
|
config HAVE_NO_PIC
|
133 |
|
|
bool
|
134 |
|
|
default n
|
135 |
|
|
|
136 |
|
|
config DOPIC
|
137 |
|
|
bool "Generate Position Independent Code (PIC)"
|
138 |
|
|
default y
|
139 |
|
|
depends !HAVE_NO_PIC
|
140 |
|
|
help
|
141 |
|
|
If you wish to build uClibc with support for shared libraries then
|
142 |
|
|
answer Y here. If you only want to build uClibc as a static library,
|
143 |
|
|
then answer N.
|
144 |
|
|
|
145 |
|
|
config HAVE_NO_SHARED
|
146 |
|
|
bool
|
147 |
|
|
default n
|
148 |
|
|
|
149 |
|
|
config HAVE_SHARED
|
150 |
|
|
bool "Enable support for shared libraries"
|
151 |
|
|
depends on DOPIC && !HAVE_NO_SHARED
|
152 |
|
|
default y
|
153 |
|
|
help
|
154 |
|
|
If you wish to build uClibc with support for shared libraries then
|
155 |
|
|
answer Y here. If you only want to build uClibc as a static library,
|
156 |
|
|
then answer N.
|
157 |
|
|
|
158 |
|
|
config ARCH_HAS_NO_LDSO
|
159 |
|
|
bool
|
160 |
|
|
default n
|
161 |
|
|
|
162 |
|
|
config BUILD_UCLIBC_LDSO
|
163 |
|
|
bool "Compile native shared library loader"
|
164 |
|
|
depends on HAVE_SHARED && !ARCH_HAS_NO_LDSO
|
165 |
|
|
default y
|
166 |
|
|
help
|
167 |
|
|
uClibc has a native shared library loader for some architectures.
|
168 |
|
|
If you answer Y here, the uClibc native shared library loader will
|
169 |
|
|
be built for your target architecture. If this option is available,
|
170 |
|
|
to you, then you almost certainly want to answer Y.
|
171 |
|
|
|
172 |
|
|
config FORCE_SHAREABLE_TEXT_SEGMENTS
|
173 |
|
|
bool "Only load shared libraries which can share their text segment"
|
174 |
|
|
depends on BUILD_UCLIBC_LDSO && UCLIBC_COMPLETELY_PIC
|
175 |
|
|
default n
|
176 |
|
|
help
|
177 |
|
|
If you answer Y here, the uClibc native shared library loader will
|
178 |
|
|
only load shared libraries, which do not need to modify any non-writable
|
179 |
|
|
segments. These libraries haven't set the DT_TEXTREL tag in the dynamic
|
180 |
|
|
section (==> objdump). So all your libraries must be compiled with
|
181 |
|
|
-fPIC or -fpic, and all assembler function must be written as position
|
182 |
|
|
independent code (PIC).
|
183 |
|
|
Enabling this option will makes uClibc's shared library loader a
|
184 |
|
|
little bit smaller and guarantee that no memory will be wasted by badly
|
185 |
|
|
coded shared libraries.
|
186 |
|
|
|
187 |
|
|
config UCLIBC_PIE_SUPPORT
|
188 |
|
|
bool "Support ET_DYN in shared library loader"
|
189 |
|
|
select FORCE_SHAREABLE_TEXT_SEGMENTS
|
190 |
|
|
default n
|
191 |
|
|
help
|
192 |
|
|
If you answer Y here, the uClibc native shared library loader will
|
193 |
|
|
support ET_DYN/PIE executables.
|
194 |
|
|
It requires binutils-2.14.90.0.6 or later and the usage of the
|
195 |
|
|
-pie option.
|
196 |
|
|
More about ET_DYN/PIE binaries on .
|
197 |
|
|
WARNING: This option also enables FORCE_SHAREABLE_TEXT_SEGMENTS, so all
|
198 |
|
|
libraries have to be built with -fPIC or -fpic, and all assembler
|
199 |
|
|
functions must be written as position independent code (PIC).
|
200 |
|
|
|
201 |
|
|
config LDSO_LDD_SUPPORT
|
202 |
|
|
bool "Native shared library loader 'ldd' support"
|
203 |
|
|
depends on BUILD_UCLIBC_LDSO
|
204 |
|
|
default y
|
205 |
|
|
help
|
206 |
|
|
Enable this to enable all the code needed to support traditional ldd,
|
207 |
|
|
which executes the shared library loader to resolve all dependencies
|
208 |
|
|
and then provide a list of shared libraries that are required for an
|
209 |
|
|
application to function. Disabling this option will makes uClibc's
|
210 |
|
|
shared library loader a little bit smaller. Most people will answer Y.
|
211 |
|
|
|
212 |
|
|
config UCLIBC_CTOR_DTOR
|
213 |
|
|
bool "Support global constructors and destructors"
|
214 |
|
|
default y
|
215 |
|
|
help
|
216 |
|
|
If you wish to build uClibc with support for global constructor
|
217 |
|
|
(ctor) and global destructor (dtor) support, then answer Y here.
|
218 |
|
|
When ctor/dtor support is enabled, binaries linked with uClibc must
|
219 |
|
|
also be linked with crtbegin.o and crtend.o which are provided by gcc
|
220 |
|
|
(the "*startfile:" and "*endfile:" settings in your gcc specs file
|
221 |
|
|
may need to be adjusted to include these files). This support will
|
222 |
|
|
also add a small amount of additional size to each binary compiled vs
|
223 |
|
|
uClibc. If you will be using uClibc with C++, or if you need the gcc
|
224 |
|
|
__attribute__((constructor)) and __attribute__((destructor)) to work,
|
225 |
|
|
then you definitely want to answer Y here. If you don't need ctors
|
226 |
|
|
or dtors and want your binaries to be as small as possible, then
|
227 |
|
|
answer N.
|
228 |
|
|
|
229 |
|
|
config UCLIBC_PROPOLICE
|
230 |
|
|
bool "Support for propolice stack protection"
|
231 |
|
|
default n
|
232 |
|
|
help
|
233 |
|
|
Propolice stack protection.
|
234 |
|
|
More about it on .
|
235 |
|
|
To be able to use it, you'll also need a propolice patched gcc,
|
236 |
|
|
supporting the -fstack-protector[-all] options. It is a specially patched
|
237 |
|
|
gcc version, were __guard and __stack_smash_handler are removed from libgcc.
|
238 |
|
|
Most people will answer N.
|
239 |
|
|
|
240 |
|
|
config UCLIBC_PROFILING
|
241 |
|
|
bool "Support gprof profiling"
|
242 |
|
|
default y
|
243 |
|
|
help
|
244 |
|
|
If you wish to build uClibc with support for application profiling
|
245 |
|
|
using the gprof tool, then you should enable this feature. Then in
|
246 |
|
|
addition to building uClibc with profiling support, you will also
|
247 |
|
|
need to recompile all your shared libraries with the profiling
|
248 |
|
|
enabled version of uClibc. To add profiling support to your
|
249 |
|
|
applications, you must compile things using the gcc options
|
250 |
|
|
"-fprofile-arcs -pg". Then when you run your applications, a
|
251 |
|
|
gmon.out file will be generated which can then be analyzed by
|
252 |
|
|
'gprof'.
|
253 |
|
|
|
254 |
|
|
These exist a number of less invasive alternatives that do not
|
255 |
|
|
require your to specially instrument your application, and recompile
|
256 |
|
|
and relink everything.
|
257 |
|
|
|
258 |
|
|
Many people have had good results using the combination of Valgrind
|
259 |
|
|
to generate profiling information and KCachegrind for analysis:
|
260 |
|
|
http://developer.kde.org/~sewardj/
|
261 |
|
|
http://kcachegrind.sourceforge.net/
|
262 |
|
|
|
263 |
|
|
The OProfile system-wide profiler is another alternative:
|
264 |
|
|
http://oprofile.sourceforge.net/
|
265 |
|
|
|
266 |
|
|
Prospect is another alternative based on OProfile:
|
267 |
|
|
http://prospect.sourceforge.net/
|
268 |
|
|
|
269 |
|
|
And the Linux Trace Toolkit (LTT) is also a fine tool:
|
270 |
|
|
http://www.opersys.com/LTT/
|
271 |
|
|
|
272 |
|
|
If none of these tools do what you need, you can of course enable
|
273 |
|
|
this option, rebuild everything, and use 'gprof'. There is both a
|
274 |
|
|
size and performance penalty to profiling your applications this way,
|
275 |
|
|
so most people should answer N.
|
276 |
|
|
|
277 |
|
|
config HAS_NO_THREADS
|
278 |
|
|
bool
|
279 |
|
|
default n
|
280 |
|
|
|
281 |
|
|
config UCLIBC_HAS_THREADS
|
282 |
|
|
bool "POSIX Threading Support"
|
283 |
|
|
depends on !HAS_NO_THREADS
|
284 |
|
|
default y
|
285 |
|
|
help
|
286 |
|
|
If you want to compile uClibc with pthread support, then answer Y.
|
287 |
|
|
This will increase the size of uClibc by adding a bunch of locking
|
288 |
|
|
to critical data structures, and adding extra code to ensure that
|
289 |
|
|
functions are properly reentrant.
|
290 |
|
|
|
291 |
|
|
If your applications require pthreads, answer Y.
|
292 |
|
|
|
293 |
|
|
config PTHREADS_DEBUG_SUPPORT
|
294 |
|
|
bool "Build pthreads debugging support"
|
295 |
|
|
default n
|
296 |
|
|
depends on UCLIBC_HAS_THREADS
|
297 |
|
|
help
|
298 |
|
|
Say Y here if you wish to be able to debug applications that use
|
299 |
|
|
uClibc's pthreads library. By enabling this option, a library
|
300 |
|
|
named libthread_db will be built. This library will be dlopen()'d
|
301 |
|
|
by gdb and will allow gdb to debug the threads in your application.
|
302 |
|
|
|
303 |
|
|
IMPORTANT NOTE! Because gdb must dlopen() the libthread_db library,
|
304 |
|
|
you must compile gdb with uClibc in order for pthread debugging to
|
305 |
|
|
work properly.
|
306 |
|
|
|
307 |
|
|
If you are doing development and want to debug applications using
|
308 |
|
|
uClibc's pthread library, answer Y. Otherwise, answer N.
|
309 |
|
|
|
310 |
|
|
config UCLIBC_HAS_LFS
|
311 |
|
|
bool "Large File Support"
|
312 |
|
|
default y
|
313 |
|
|
depends on !CONFIG_CRIS
|
314 |
|
|
help
|
315 |
|
|
If you wish to build uClibc with support for accessing large files
|
316 |
|
|
(i.e. files greater then 2 GiB) then answer Y. Do not enable this
|
317 |
|
|
if you are using an older Linux kernel (2.0.x) that lacks large file
|
318 |
|
|
support. Enabling this option will increase the size of uClibc.
|
319 |
|
|
|
320 |
|
|
choice
|
321 |
|
|
prompt "Malloc Implementation"
|
322 |
|
|
default MALLOC if ! UCLIBC_HAS_MMU
|
323 |
|
|
default MALLOC_STANDARD if UCLIBC_HAS_MMU
|
324 |
|
|
help
|
325 |
|
|
"malloc" use mmap for all allocations and so works very well on MMU-less
|
326 |
|
|
systems that do not support the brk() system call. It is pretty smart
|
327 |
|
|
about reusing already allocated memory, and minimizing memory wastage.
|
328 |
|
|
This is the default for uClinux MMU-less systems.
|
329 |
|
|
|
330 |
|
|
"malloc-simple" was written from scratch for uClibc, and is the
|
331 |
|
|
simplest possible (and therefore smallest) malloc implementation.
|
332 |
|
|
It is rather dumb, and certainly isn't the fastest. But it is 100%
|
333 |
|
|
standards compliant, thread safe, and very small.
|
334 |
|
|
|
335 |
|
|
"malloc-standard" is derived from the public domain dlmalloc
|
336 |
|
|
implementation by Doug Lea. It is quite fast, and is pretty smart
|
337 |
|
|
about reusing already allocated memory, and minimizing memory
|
338 |
|
|
wastage. This uses brk() for small allocations, while using mmap()
|
339 |
|
|
for larger allocations. This is the default malloc implementation
|
340 |
|
|
for uClibc.
|
341 |
|
|
|
342 |
|
|
If unsure, answer "malloc-standard".
|
343 |
|
|
|
344 |
|
|
config MALLOC
|
345 |
|
|
bool "malloc"
|
346 |
|
|
|
347 |
|
|
config MALLOC_SIMPLE
|
348 |
|
|
bool "malloc-simple"
|
349 |
|
|
|
350 |
|
|
config MALLOC_STANDARD
|
351 |
|
|
bool "malloc-standard"
|
352 |
|
|
depends on UCLIBC_HAS_MMU
|
353 |
|
|
|
354 |
|
|
endchoice
|
355 |
|
|
|
356 |
|
|
config MALLOC_GLIBC_COMPAT
|
357 |
|
|
bool "Malloc returns live pointer for malloc(0)"
|
358 |
|
|
default n
|
359 |
|
|
help
|
360 |
|
|
The behavior of malloc(0) is listed as implementation-defined by
|
361 |
|
|
SuSv3. Glibc returns a valid pointer to something, while uClibc
|
362 |
|
|
normally return a NULL. I personally feel glibc's behavior is
|
363 |
|
|
not particularly safe, and allows buggy applications to hide very
|
364 |
|
|
serious problems.
|
365 |
|
|
|
366 |
|
|
When this option is enabled, uClibc will act just like glibc, and
|
367 |
|
|
return a live pointer when someone calls malloc(0). This pointer
|
368 |
|
|
provides a malloc'ed area with a size of 1 byte. This feature is
|
369 |
|
|
mostly useful when dealing with applications using autoconf's broken
|
370 |
|
|
AC_FUNC_MALLOC macro (which redefines malloc as rpl_malloc if it
|
371 |
|
|
does not detect glibc style returning-a-valid-pointer-for-malloc(0)
|
372 |
|
|
behavior). Most people can safely answer N.
|
373 |
|
|
|
374 |
|
|
config UCLIBC_DYNAMIC_ATEXIT
|
375 |
|
|
bool "Dynamic atexit() Support"
|
376 |
|
|
default y
|
377 |
|
|
help
|
378 |
|
|
When this option is enabled, uClibc will support an infinite number,
|
379 |
|
|
of atexit() and on_exit() functions, limited only by your available
|
380 |
|
|
memory. This can be important when uClibc is used with C++, since
|
381 |
|
|
global destructors are implemented via atexit(), and it is quite
|
382 |
|
|
possible to exceed the default number when this option is disabled.
|
383 |
|
|
Enabling this option adds a few bytes, and more significantly makes
|
384 |
|
|
atexit and on_exit depend on malloc, which can be bad when compiling
|
385 |
|
|
static executables.
|
386 |
|
|
|
387 |
|
|
Unless you use uClibc with C++, you should probably answer N.
|
388 |
|
|
|
389 |
|
|
|
390 |
|
|
config HAS_SHADOW
|
391 |
|
|
bool "Shadow Password Support"
|
392 |
|
|
default y
|
393 |
|
|
help
|
394 |
|
|
Answer N if you do not need shadow password support.
|
395 |
|
|
Most people will answer Y.
|
396 |
|
|
|
397 |
|
|
config UNIX98PTY_ONLY
|
398 |
|
|
bool "Support only Unix 98 PTYs"
|
399 |
|
|
default y
|
400 |
|
|
help
|
401 |
|
|
If you want to support only Unix 98 PTYs enable this. Some older
|
402 |
|
|
applications may need this disabled. For most current programs,
|
403 |
|
|
you can generally answer Y.
|
404 |
|
|
|
405 |
|
|
config ASSUME_DEVPTS
|
406 |
|
|
bool "Assume that /dev/pts is a devpts or devfs file system"
|
407 |
|
|
default y
|
408 |
|
|
help
|
409 |
|
|
Enable this if /dev/pts is on a devpts or devfs filesystem. Both
|
410 |
|
|
these filesystems automatically manage permissions on the /dev/pts
|
411 |
|
|
devices. You may need to mount your devpts or devfs filesystem on
|
412 |
|
|
/dev/pts for this to work.
|
413 |
|
|
|
414 |
|
|
Most people should answer Y.
|
415 |
|
|
|
416 |
|
|
config UCLIBC_HAS_TM_EXTENSIONS
|
417 |
|
|
bool "Support 'struct tm' timezone extension fields"
|
418 |
|
|
default y
|
419 |
|
|
help
|
420 |
|
|
Enabling this option adds fields to 'struct tm' in time.h for
|
421 |
|
|
tracking the number of seconds east of UTC, and an abbreviation for
|
422 |
|
|
the current timezone. These fields are not specified by the SuSv3
|
423 |
|
|
standard, but they are commonly used in both GNU and BSD application
|
424 |
|
|
code.
|
425 |
|
|
|
426 |
|
|
To strictly follow the SuSv3 standard, leave this disabled.
|
427 |
|
|
Most people will probably want to answer Y.
|
428 |
|
|
|
429 |
|
|
config UCLIBC_HAS_TZ_CACHING
|
430 |
|
|
bool "Enable caching of the last valid timezone 'TZ' string"
|
431 |
|
|
default y
|
432 |
|
|
help
|
433 |
|
|
Answer Y to enable caching of the last valid 'TZ' string describing
|
434 |
|
|
the timezone setting. This allows a quick string compare to avoid
|
435 |
|
|
repeated parsing of unchanged 'TZ' strings when tzset() is called.
|
436 |
|
|
|
437 |
|
|
Most people will answer Y.
|
438 |
|
|
|
439 |
|
|
config UCLIBC_HAS_TZ_FILE
|
440 |
|
|
bool "Enable '/etc/TZ' file support to set a default timezone (uClibc-specific)"
|
441 |
|
|
default y
|
442 |
|
|
help
|
443 |
|
|
Answer Y to enable the setting of a default timezone for uClibc.
|
444 |
|
|
|
445 |
|
|
Ordinarily, uClibc gets the timezone information exclusively from the
|
446 |
|
|
'TZ' environment variable. In particular, there is no support for
|
447 |
|
|
the zoneinfo directory tree or the /etc/timezone file used by glibc.
|
448 |
|
|
|
449 |
|
|
With this option enabled, uClibc will use the value stored in the
|
450 |
|
|
file '/etc/TZ' (default path) to obtain timezone information if the
|
451 |
|
|
'TZ' environment variable is missing or has an invalid value. The
|
452 |
|
|
file consists of a single line (newline required) of text describing
|
453 |
|
|
the timezone in the format specified for the TZ environment variable.
|
454 |
|
|
|
455 |
|
|
Simply doing 'echo CST6CDT > /etc/TZ' is enough to create a valid file.
|
456 |
|
|
See
|
457 |
|
|
http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap08.html
|
458 |
|
|
for details on valid settings of 'TZ'.
|
459 |
|
|
|
460 |
|
|
Most people will answer Y.
|
461 |
|
|
|
462 |
|
|
config UCLIBC_HAS_TZ_FILE_READ_MANY
|
463 |
|
|
bool "Repeatedly read the '/etc/TZ' file"
|
464 |
|
|
depends on UCLIBC_HAS_TZ_FILE
|
465 |
|
|
default y
|
466 |
|
|
help
|
467 |
|
|
Answer Y to enable repeated reading of the '/etc/TZ' file even after
|
468 |
|
|
a valid value has been read. This incurs the overhead of an open/read/close
|
469 |
|
|
for each tzset() call (explicit or implied). However, setting this
|
470 |
|
|
will allows applications to update their timezone information if the contents
|
471 |
|
|
of the file change.
|
472 |
|
|
|
473 |
|
|
Most people will answer Y.
|
474 |
|
|
|
475 |
|
|
config UCLIBC_TZ_FILE_PATH
|
476 |
|
|
string "Path to the 'TZ' file for setting the global timezone"
|
477 |
|
|
depends on UCLIBC_HAS_TZ_FILE
|
478 |
|
|
default "/etc/TZ"
|
479 |
|
|
help
|
480 |
|
|
This is the path to the 'TZ' file.
|
481 |
|
|
|
482 |
|
|
Most people will use the default of '/etc/TZ'.
|
483 |
|
|
|
484 |
|
|
endmenu
|
485 |
|
|
|
486 |
|
|
menu "Networking Support"
|
487 |
|
|
|
488 |
|
|
config UCLIBC_HAS_IPV6
|
489 |
|
|
bool "IP version 6 Support"
|
490 |
|
|
default n
|
491 |
|
|
help
|
492 |
|
|
If you want to include support for the next version of the Internet
|
493 |
|
|
Protocol (IP version 6) then answer Y.
|
494 |
|
|
|
495 |
|
|
Most people should answer N.
|
496 |
|
|
|
497 |
|
|
config UCLIBC_HAS_RPC
|
498 |
|
|
bool "Remote Procedure Call (RPC) support"
|
499 |
|
|
default n
|
500 |
|
|
help
|
501 |
|
|
If you want to include RPC support, enable this. RPC is rarely used
|
502 |
|
|
for anything except for the NFS filesystem. Unless you plan to use NFS,
|
503 |
|
|
you can probably leave this set to N and save some space. If you need
|
504 |
|
|
to use NFS then you should answer Y.
|
505 |
|
|
|
506 |
|
|
config UCLIBC_HAS_FULL_RPC
|
507 |
|
|
bool "Full RPC support"
|
508 |
|
|
depends on UCLIBC_HAS_RPC
|
509 |
|
|
default y if !HAVE_SHARED
|
510 |
|
|
help
|
511 |
|
|
Normally we enable just enough RPC support for things like rshd and
|
512 |
|
|
nfs mounts to work. If you find you need the rest of the RPC stuff,
|
513 |
|
|
then enable this option. Most people can safely answer N.
|
514 |
|
|
|
515 |
|
|
endmenu
|
516 |
|
|
|
517 |
|
|
|
518 |
|
|
menu "String and Stdio Support"
|
519 |
|
|
|
520 |
|
|
config UCLIBC_HAS_CTYPE_TABLES
|
521 |
|
|
bool "Use Table Versions Of 'ctype.h' Functions."
|
522 |
|
|
default y
|
523 |
|
|
help
|
524 |
|
|
Answer Y to use table versions of the 'ctype.h' functions.
|
525 |
|
|
While the non-table versions are often smaller when building
|
526 |
|
|
staticly linked apps, they work only in stub locale mode.
|
527 |
|
|
|
528 |
|
|
Most people will answer Y.
|
529 |
|
|
|
530 |
|
|
config UCLIBC_HAS_CTYPE_SIGNED
|
531 |
|
|
bool "Support Signed Characters In 'ctype.h' Functions."
|
532 |
|
|
depends UCLIBC_HAS_CTYPE_TABLES
|
533 |
|
|
default y
|
534 |
|
|
help
|
535 |
|
|
Answer Y to enable support for passing signed char values to
|
536 |
|
|
the 'ctype.h' functions. ANSI/ISO C99 and SUSv3 specify that
|
537 |
|
|
these functions are only defined for unsigned char values and
|
538 |
|
|
EOF. However, glibc allows negative signed char values as well
|
539 |
|
|
in order to support 'broken old programs'.
|
540 |
|
|
|
541 |
|
|
Most people will answer Y.
|
542 |
|
|
|
543 |
|
|
choice
|
544 |
|
|
prompt "ctype argument checking"
|
545 |
|
|
depends UCLIBC_HAS_CTYPE_TABLES
|
546 |
|
|
default UCLIBC_HAS_CTYPE_UNSAFE
|
547 |
|
|
help
|
548 |
|
|
Please select the invalid arg behavior you want for the 'ctype' functions.
|
549 |
|
|
|
550 |
|
|
The 'ctype' functions are now implemented using table lookups, with
|
551 |
|
|
the arg being the index. This can result in incorrect memory accesses
|
552 |
|
|
or even segfaults for args outside of the allowed range.
|
553 |
|
|
|
554 |
|
|
NOTE: This only affects the 'ctype' _functions_. It does not affect
|
555 |
|
|
the macro implementations.
|
556 |
|
|
|
557 |
|
|
config UCLIBC_HAS_CTYPE_UNSAFE
|
558 |
|
|
bool "Do not check -- unsafe"
|
559 |
|
|
|
560 |
|
|
config UCLIBC_HAS_CTYPE_CHECKED
|
561 |
|
|
bool "Detect and handle appropriately"
|
562 |
|
|
|
563 |
|
|
config UCLIBC_HAS_CTYPE_ENFORCED
|
564 |
|
|
bool "Issue a diagnostic and abort()"
|
565 |
|
|
|
566 |
|
|
endchoice
|
567 |
|
|
|
568 |
|
|
|
569 |
|
|
config UCLIBC_HAS_WCHAR
|
570 |
|
|
bool "Wide Character Support"
|
571 |
|
|
default n
|
572 |
|
|
help
|
573 |
|
|
Answer Y to enable wide character support. This will make uClibc
|
574 |
|
|
much larger. It is also currently required for locale support.
|
575 |
|
|
|
576 |
|
|
Most people will answer N.
|
577 |
|
|
|
578 |
|
|
config UCLIBC_HAS_LOCALE
|
579 |
|
|
bool "Locale Support"
|
580 |
|
|
select UCLIBC_HAS_WCHAR
|
581 |
|
|
select UCLIBC_HAS_CTYPE_TABLES
|
582 |
|
|
default n
|
583 |
|
|
help
|
584 |
|
|
uClibc now has full ANSI/ISO C99 locale support (except for
|
585 |
|
|
wcsftime() and collating items in regex). Be aware that enabling
|
586 |
|
|
this option will make uClibc much larger.
|
587 |
|
|
|
588 |
|
|
Enabling UCLIBC_HAS_LOCALE with the default set of supported locales
|
589 |
|
|
(169 UTF-8 locales, and 144 locales for other codesets) will enlarge
|
590 |
|
|
uClibc by around 300k. You can reduce this size by building your own
|
591 |
|
|
custom set of locate data (see extra/locale/LOCALES for details).
|
592 |
|
|
|
593 |
|
|
uClibc's locale support is still under development. For example,
|
594 |
|
|
codesets using shift states are not currently supported. Support is
|
595 |
|
|
planned in the next iteration of locale support.
|
596 |
|
|
|
597 |
|
|
Answer Y to enable locale support. Most people will answer N.
|
598 |
|
|
|
599 |
|
|
config UCLIBC_PREGENERATED_LOCALE_DATA
|
600 |
|
|
bool "Use Pre-generated Locale Data"
|
601 |
|
|
depends on UCLIBC_HAS_LOCALE
|
602 |
|
|
default n
|
603 |
|
|
help
|
604 |
|
|
If you are selective and only want locale data for a few particular
|
605 |
|
|
locales, or you enjoy pain, or you are a rabid do-it-yourself sort of
|
606 |
|
|
person, you can turn this option off and manually walk through the
|
607 |
|
|
mostly undocumented procedure needed to generate your own locale
|
608 |
|
|
data.
|
609 |
|
|
|
610 |
|
|
Mere mortals will answer Y and use the default set of pregenerated
|
611 |
|
|
locale data, which supports 169 UTF-8 locales, and 144 locales for
|
612 |
|
|
other codesets (for the complete list see extra/locale/LOCALES).
|
613 |
|
|
|
614 |
|
|
config UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA
|
615 |
|
|
bool "Automagically Download the Pre-generated Locale Data (if necessary)"
|
616 |
|
|
depends on UCLIBC_PREGENERATED_LOCALE_DATA
|
617 |
|
|
default n
|
618 |
|
|
help
|
619 |
|
|
If you would like the build process to use 'wget' to automatically
|
620 |
|
|
download the pregenerated locale data, enable this option. Otherwise
|
621 |
|
|
you will need to obtain the locale data yourself from:
|
622 |
|
|
http://www.uclibc.org/downloads/uClibc-locale-030818.tgz
|
623 |
|
|
and place the uClibc-locale-030818.tgz tarball in the extra/locale/
|
624 |
|
|
directory.
|
625 |
|
|
|
626 |
|
|
Go ahead and make life easy for yourself... Answer Y.
|
627 |
|
|
|
628 |
|
|
config UCLIBC_HAS_XLOCALE
|
629 |
|
|
bool "Extended Locale Support (experimental/incomplete)"
|
630 |
|
|
depends on UCLIBC_HAS_LOCALE
|
631 |
|
|
default n
|
632 |
|
|
help
|
633 |
|
|
Answer Y to enable extended locale support similar to that provided
|
634 |
|
|
by glibc. This is primarily intended to support libstd++ functionality.
|
635 |
|
|
However, it also allows thread-specific locale selection via uselocale().
|
636 |
|
|
|
637 |
|
|
Most people will answer N.
|
638 |
|
|
|
639 |
|
|
config UCLIBC_HAS_HEXADECIMAL_FLOATS
|
640 |
|
|
bool "Support hexadecimal float notation"
|
641 |
|
|
depends UCLIBC_HAS_CTYPE_TABLES
|
642 |
|
|
depends on UCLIBC_HAS_FLOATS
|
643 |
|
|
default n
|
644 |
|
|
help
|
645 |
|
|
Answer Y to enable support for hexadecimal float notation in the
|
646 |
|
|
(wchar and) char string to floating point conversion functions, as
|
647 |
|
|
well as support for the %a and %A conversion specifiers in the
|
648 |
|
|
*printf() and *scanf() functions.
|
649 |
|
|
|
650 |
|
|
Most people will answer N.
|
651 |
|
|
|
652 |
|
|
config UCLIBC_HAS_GLIBC_DIGIT_GROUPING
|
653 |
|
|
bool "Support glibc's \"'\" flag for allowing locale-specific digit grouping"
|
654 |
|
|
depends on UCLIBC_HAS_LOCALE
|
655 |
|
|
depends on UCLIBC_HAS_FLOATS
|
656 |
|
|
default n
|
657 |
|
|
help
|
658 |
|
|
Answer Y to enable support for glibc's \"'\" flag for allowing locale-specific
|
659 |
|
|
digit grouping in base 10 integer conversions and appropriate floating point
|
660 |
|
|
conversions in the *printf() and *scanf() functions.
|
661 |
|
|
|
662 |
|
|
Most people will answer N.
|
663 |
|
|
|
664 |
|
|
config UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING
|
665 |
|
|
bool "Do not require digit grouping when the \"'\" flag is specified"
|
666 |
|
|
depends on UCLIBC_HAS_GLIBC_DIGIT_GROUPING
|
667 |
|
|
default y
|
668 |
|
|
help
|
669 |
|
|
Answer Y to make digit grouping optional when the \"'\" flag is specified.
|
670 |
|
|
This is the standard glibc behavior. If the initial string of digits
|
671 |
|
|
exceeds the maximum group number, the input will be treated as a normal
|
672 |
|
|
non-grouped number.
|
673 |
|
|
|
674 |
|
|
Most people will answer N.
|
675 |
|
|
|
676 |
|
|
config UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
|
677 |
|
|
bool "Support glibc's register_printf_function() (glibc-compat)"
|
678 |
|
|
depends on !USE_OLD_VFPRINTF
|
679 |
|
|
default n
|
680 |
|
|
help
|
681 |
|
|
Answer Y to support glibc's register_printf_function() to allow an
|
682 |
|
|
application to add its own printf conversion specifiers.
|
683 |
|
|
|
684 |
|
|
NOTE: This implementation limits the number or registered specifiers to 10.
|
685 |
|
|
NOTE: This implementation requires new conversion specifiers to be ASCII
|
686 |
|
|
characters (0-0x7f). This is to avoid problems with processing
|
687 |
|
|
format strings in locales with different multibyte conversions.
|
688 |
|
|
|
689 |
|
|
Most people will answer N.
|
690 |
|
|
|
691 |
|
|
config USE_OLD_VFPRINTF
|
692 |
|
|
bool "Use the old vfprintf implementation"
|
693 |
|
|
depends on !UCLIBC_HAS_WCHAR
|
694 |
|
|
default n
|
695 |
|
|
help
|
696 |
|
|
Set to true to use the old vfprintf instead of the new. This is roughly
|
697 |
|
|
C89 compliant with some extensions, and is much smaller. However, it does
|
698 |
|
|
not support wide chars, positional args, or glibc custom printf specifiers.
|
699 |
|
|
|
700 |
|
|
Most people will answer N.
|
701 |
|
|
|
702 |
|
|
config UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS
|
703 |
|
|
int "Maximum number of positional args. Either 0 or >= 9."
|
704 |
|
|
depends on !USE_OLD_VFPRINTF
|
705 |
|
|
default 9
|
706 |
|
|
help
|
707 |
|
|
Set the maximum number of positional args supported by the printf/scanf
|
708 |
|
|
functions. The Single Unix Specification Version 3 requires a minimum
|
709 |
|
|
value of 9. Setting this to a value lower than 9 will disable positional
|
710 |
|
|
arg support and cause the NL_ARGMAX macro in limits.h to be #undef'd.
|
711 |
|
|
WARNING! The workspace to support positional args is currently allocated
|
712 |
|
|
on the stack. You probably don't want to set this to too high a value.
|
713 |
|
|
|
714 |
|
|
Most people will answer 9.
|
715 |
|
|
|
716 |
|
|
|
717 |
|
|
config UCLIBC_HAS_SCANF_GLIBC_A_FLAG
|
718 |
|
|
bool "Support glibc's 'a' flag for scanf string conversions"
|
719 |
|
|
default n
|
720 |
|
|
help
|
721 |
|
|
NOTE!!! Currently Not Implemented!!! Just A Place Holder!! NOTE!!!
|
722 |
|
|
|
723 |
|
|
Answer Y to enable support for glibc's 'a' flag for the scanf string
|
724 |
|
|
conversions '%s', '%[', '%ls', '%l[', and '%S'. This is used to
|
725 |
|
|
auto-allocate sufficient memory to hold the data retrieved.
|
726 |
|
|
|
727 |
|
|
Most people will answer N.
|
728 |
|
|
|
729 |
|
|
choice
|
730 |
|
|
prompt "Stdio buffer size"
|
731 |
|
|
default UCLIBC_HAS_STDIO_BUFSIZ_4096
|
732 |
|
|
help
|
733 |
|
|
Please select a value for BUFSIZ. This will be used by the
|
734 |
|
|
stdio subsystem as the default buffer size for a file, and
|
735 |
|
|
affects fopen(), setvbuf(), etc.
|
736 |
|
|
|
737 |
|
|
NOTE: Setting this to 'none' will disable buffering completely.
|
738 |
|
|
However, BUFSIZ will still be defined in stdio.h as 256 because
|
739 |
|
|
many applications use this value.
|
740 |
|
|
|
741 |
|
|
config UCLIBC_HAS_STDIO_BUFSIZ_NONE
|
742 |
|
|
bool "none (WARNING - BUFSIZ will be 256 in stdio.h)"
|
743 |
|
|
depends !UCLIBC_HAS_WCHAR
|
744 |
|
|
|
745 |
|
|
config UCLIBC_HAS_STDIO_BUFSIZ_256
|
746 |
|
|
bool "256 (minimum ANSI/ISO C99 value)"
|
747 |
|
|
|
748 |
|
|
config UCLIBC_HAS_STDIO_BUFSIZ_512
|
749 |
|
|
bool "512"
|
750 |
|
|
|
751 |
|
|
config UCLIBC_HAS_STDIO_BUFSIZ_1024
|
752 |
|
|
bool "1024"
|
753 |
|
|
|
754 |
|
|
config UCLIBC_HAS_STDIO_BUFSIZ_2048
|
755 |
|
|
bool "2048"
|
756 |
|
|
|
757 |
|
|
config UCLIBC_HAS_STDIO_BUFSIZ_4096
|
758 |
|
|
bool "4096"
|
759 |
|
|
|
760 |
|
|
config UCLIBC_HAS_STDIO_BUFSIZ_8192
|
761 |
|
|
bool "8192"
|
762 |
|
|
|
763 |
|
|
# If you add more choices, you will need to update uClibc_stdio.h.
|
764 |
|
|
|
765 |
|
|
endchoice
|
766 |
|
|
|
767 |
|
|
choice
|
768 |
|
|
prompt "Stdio builtin buffer size (uClibc-specific)"
|
769 |
|
|
depends !UCLIBC_HAS_STDIO_BUFSIZ_NONE
|
770 |
|
|
default UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE
|
771 |
|
|
help
|
772 |
|
|
When a FILE is created with fopen(), an attempt is made to allocate
|
773 |
|
|
a BUFSIZ buffer for it. If the allocation fails, fopen() will still
|
774 |
|
|
succeed but the FILE will be unbuffered.
|
775 |
|
|
|
776 |
|
|
This option adds a small amount of space to each FILE to act as an
|
777 |
|
|
emergency buffer in the event of a buffer allocation failure.
|
778 |
|
|
|
779 |
|
|
Most people will answer None.
|
780 |
|
|
|
781 |
|
|
config UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE
|
782 |
|
|
bool "None"
|
783 |
|
|
|
784 |
|
|
config UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4
|
785 |
|
|
bool "4"
|
786 |
|
|
|
787 |
|
|
config UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8
|
788 |
|
|
bool "8"
|
789 |
|
|
|
790 |
|
|
# If you add more choices, you will need to update uClibc_stdio.h.
|
791 |
|
|
|
792 |
|
|
endchoice
|
793 |
|
|
|
794 |
|
|
config UCLIBC_HAS_STDIO_GETC_MACRO
|
795 |
|
|
bool "Provide a macro version of getc()"
|
796 |
|
|
depends !UCLIBC_HAS_STDIO_BUFSIZ_NONE
|
797 |
|
|
default y
|
798 |
|
|
help
|
799 |
|
|
Provide a macro version of getc().
|
800 |
|
|
|
801 |
|
|
Most people will answer Y.
|
802 |
|
|
|
803 |
|
|
config UCLIBC_HAS_STDIO_PUTC_MACRO
|
804 |
|
|
bool "Provide a macro version of putc()"
|
805 |
|
|
depends !UCLIBC_HAS_STDIO_BUFSIZ_NONE
|
806 |
|
|
default y
|
807 |
|
|
help
|
808 |
|
|
Provide a macro version of putc().
|
809 |
|
|
|
810 |
|
|
Most people will answer Y.
|
811 |
|
|
|
812 |
|
|
config UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION
|
813 |
|
|
bool "Support auto-r/w transition"
|
814 |
|
|
default y
|
815 |
|
|
help
|
816 |
|
|
Answer Y to enable the stdio subsystem to automaticly transition
|
817 |
|
|
between reading and writing. This relaxes the ANSI/ISO C99 requirement:
|
818 |
|
|
|
819 |
|
|
When a file is opened with update mode ('+' as the second or third character
|
820 |
|
|
in the list of mode argument values), both input and output may be performed
|
821 |
|
|
on the associated stream. However, output shall not be directly followed by
|
822 |
|
|
input without an intervening call to the fflush function or to a file
|
823 |
|
|
positioning function (fseek, fsetpos, or rewind), and input shall not be
|
824 |
|
|
directly followed by output without an intervening call to a file positioning
|
825 |
|
|
function, unless the input operation encounters endoffile.
|
826 |
|
|
|
827 |
|
|
Most people will answer Y.
|
828 |
|
|
|
829 |
|
|
config UCLIBC_HAS_FOPEN_LARGEFILE_MODE
|
830 |
|
|
bool "Support an fopen() 'F' flag for large file mode (uClibc-specific)"
|
831 |
|
|
depends on UCLIBC_HAS_LFS
|
832 |
|
|
default n
|
833 |
|
|
help
|
834 |
|
|
Answer Y to enable a uClibc-specific extension to allow passing an
|
835 |
|
|
additional 'F' flag in the mode string for fopen() to specify that
|
836 |
|
|
the file should be open()ed with the O_LARGEFILE flag set.
|
837 |
|
|
|
838 |
|
|
Most people will answer N.
|
839 |
|
|
|
840 |
|
|
config UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
|
841 |
|
|
bool "Support an fopen() 'x' flag for exclusive mode (glibc-compat)"
|
842 |
|
|
default n
|
843 |
|
|
help
|
844 |
|
|
Answer Y to support a glibc extension to allow passing
|
845 |
|
|
additional 'x' flag in the mode string for fopen() to specify that
|
846 |
|
|
the file should be open()ed with the O_EXCL flag set.
|
847 |
|
|
|
848 |
|
|
Most people will answer N.
|
849 |
|
|
|
850 |
|
|
config UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
|
851 |
|
|
bool "Support fmemopen(), open_memstream(), and fopencookie() (glibc-compat)"
|
852 |
|
|
default n
|
853 |
|
|
help
|
854 |
|
|
Answer Y to support the glibc 'custom stream' extension functions
|
855 |
|
|
fmemopen(), open_memstream(), and fopencookie().
|
856 |
|
|
|
857 |
|
|
NOTE: There are some minor differences regarding seeking behavior.
|
858 |
|
|
|
859 |
|
|
Most people will answer N.
|
860 |
|
|
|
861 |
|
|
config UCLIBC_HAS_PRINTF_M_SPEC
|
862 |
|
|
bool "Support the '%m' specifier in printf format strings (glibc-compat)"
|
863 |
|
|
default n
|
864 |
|
|
help
|
865 |
|
|
Answer Y to support a glibc extension to interpret '%m' in printf
|
866 |
|
|
format strings as an instruction to output the error message string
|
867 |
|
|
(as generated by strerror) corresponding to the current value of 'errno'.
|
868 |
|
|
|
869 |
|
|
Most people will answer N.
|
870 |
|
|
|
871 |
|
|
config UCLIBC_HAS_ERRNO_MESSAGES
|
872 |
|
|
bool "Include the errno message text in the library"
|
873 |
|
|
default y
|
874 |
|
|
help
|
875 |
|
|
Answer Y if you want to include the errno message text in the
|
876 |
|
|
library. This adds about 3K to the library, but enables strerror()
|
877 |
|
|
to generate text other than 'Unknown error '.
|
878 |
|
|
|
879 |
|
|
Most people will answer Y.
|
880 |
|
|
|
881 |
|
|
config UCLIBC_HAS_SYS_ERRLIST
|
882 |
|
|
bool "Support sys_errlist[] (obsolete-compat)"
|
883 |
|
|
depends on UCLIBC_HAS_ERRNO_MESSAGES
|
884 |
|
|
default n
|
885 |
|
|
help
|
886 |
|
|
Answer Y if you want to support the obsolete sys_errlist[].
|
887 |
|
|
This adds about 0.5k to the library, except for the mips
|
888 |
|
|
arch where it adds over 4K.
|
889 |
|
|
|
890 |
|
|
WARNING! In the future, support for sys_errlist[] may be unavailable
|
891 |
|
|
in at least some configurations. In fact, it may be removed altogether.
|
892 |
|
|
|
893 |
|
|
Most people will answer N.
|
894 |
|
|
|
895 |
|
|
config UCLIBC_HAS_SIGNUM_MESSAGES
|
896 |
|
|
bool "Include the signum message text in the library"
|
897 |
|
|
default y
|
898 |
|
|
help
|
899 |
|
|
Answer Y if you want to include the signum message text in the
|
900 |
|
|
library. This adds about 0.5K to the library, but enables strsignal()
|
901 |
|
|
to generate text other than 'Unknown signal '.
|
902 |
|
|
|
903 |
|
|
Most people will answer Y.
|
904 |
|
|
|
905 |
|
|
config UCLIBC_HAS_SYS_SIGLIST
|
906 |
|
|
bool "Support sys_siglist[] (bsd-compat)"
|
907 |
|
|
depends on UCLIBC_HAS_SIGNUM_MESSAGES
|
908 |
|
|
default n
|
909 |
|
|
help
|
910 |
|
|
Answer Y if you want to support sys_siglist[].
|
911 |
|
|
|
912 |
|
|
WARNING! In the future, support for sys_siglist[] may be unavailable
|
913 |
|
|
in at least some configurations. In fact, it may be removed altogether.
|
914 |
|
|
|
915 |
|
|
Most people will answer N.
|
916 |
|
|
|
917 |
|
|
config UCLIBC_HAS_GETTEXT_AWARENESS
|
918 |
|
|
bool "Include gettext awareness"
|
919 |
|
|
depends on UCLIBC_HAS_LOCALE
|
920 |
|
|
default n
|
921 |
|
|
help
|
922 |
|
|
NOTE!!! Not yet integrated with strerror and strsignal. NOTE!!!
|
923 |
|
|
|
924 |
|
|
Answer Y if you want to include weak stub gettext support and
|
925 |
|
|
make the *strerror*() and strsignal() functions gettext-aware.
|
926 |
|
|
|
927 |
|
|
Currently, to get functional gettext functionality you will need
|
928 |
|
|
to use gnu gettext.
|
929 |
|
|
|
930 |
|
|
Most people will answer N.
|
931 |
|
|
|
932 |
|
|
config UCLIBC_HAS_GNU_GETOPT
|
933 |
|
|
bool "Support gnu getopt"
|
934 |
|
|
default y
|
935 |
|
|
help
|
936 |
|
|
Answer Y if you want to include full gnu getopt() instead of a
|
937 |
|
|
(much smaller) SUSv3 compatible getopt().
|
938 |
|
|
|
939 |
|
|
Most people will answer Y.
|
940 |
|
|
|
941 |
|
|
endmenu
|
942 |
|
|
|
943 |
|
|
|
944 |
|
|
menu "Big and Tall"
|
945 |
|
|
|
946 |
|
|
config UCLIBC_HAS_REGEX
|
947 |
|
|
bool "Regular Expression Support"
|
948 |
|
|
default y
|
949 |
|
|
help
|
950 |
|
|
POSIX regular expression code is really big -- 27k all by itself.
|
951 |
|
|
If you don't use regular expressions, turn this off and save space.
|
952 |
|
|
Of course, if you only staticly link, leave this on, since it will
|
953 |
|
|
only be included in your apps if you use regular expressions.
|
954 |
|
|
|
955 |
|
|
config UCLIBC_HAS_WORDEXP
|
956 |
|
|
bool "Support the wordexp() interface"
|
957 |
|
|
default n
|
958 |
|
|
help
|
959 |
|
|
The SuSv3 wordexp() interface performs word expansions per the Shell
|
960 |
|
|
and Utilities volume of IEEE Std 1003.1-2001, Section 2.6. It is
|
961 |
|
|
intended for use by applications that want to implement all of the
|
962 |
|
|
standard Bourne shell expansions on input data.
|
963 |
|
|
|
964 |
|
|
This interface is rarely used, and very large. Unless you have a
|
965 |
|
|
pressing need for wordexp(), you should probably answer N.
|
966 |
|
|
|
967 |
|
|
config UCLIBC_HAS_FTW
|
968 |
|
|
bool "Support the ftw() and nftw() interfaces"
|
969 |
|
|
default n
|
970 |
|
|
help
|
971 |
|
|
The SuSv3 ftw() and nftw() interfaces are used to recursively descend
|
972 |
|
|
directory paths while repeatedly calling a function.
|
973 |
|
|
|
974 |
|
|
This interface is rarely used, and adds around 4.5k. Unless you have
|
975 |
|
|
a pressing need for ftw() or nftw(), you should probably answer N.
|
976 |
|
|
|
977 |
|
|
config UCLIBC_HAS_GLOB
|
978 |
|
|
bool "Support the glob() interface"
|
979 |
|
|
default y
|
980 |
|
|
help
|
981 |
|
|
|
982 |
|
|
The glob interface is somewhat large (weighing in at about 4k). It
|
983 |
|
|
is used fairly often, but is an option since people wanting to go for
|
984 |
|
|
absolute minimum size may wish to omit it.
|
985 |
|
|
|
986 |
|
|
Most people will answer Y.
|
987 |
|
|
|
988 |
|
|
endmenu
|
989 |
|
|
|
990 |
|
|
|
991 |
|
|
|
992 |
|
|
|
993 |
|
|
menu "Library Installation Options"
|
994 |
|
|
|
995 |
|
|
config SHARED_LIB_LOADER_PREFIX
|
996 |
|
|
string "Shared library loader path"
|
997 |
|
|
depends on BUILD_UCLIBC_LDSO
|
998 |
|
|
default "$(DEVEL_PREFIX)/lib"
|
999 |
|
|
help
|
1000 |
|
|
When using shared libraries, this path is the location where the
|
1001 |
|
|
shared library will be invoked. This value will be compiled into
|
1002 |
|
|
every binary compiled with uClibc.
|
1003 |
|
|
|
1004 |
|
|
For a typical target system this should be set to "/lib", such that
|
1005 |
|
|
'make install' will install /lib/ld-uClibc.so.0.
|
1006 |
|
|
|
1007 |
|
|
BIG FAT WARNING:
|
1008 |
|
|
If you do not have a shared library loader with the correct name
|
1009 |
|
|
sitting in the directory this points to, your binaries will not
|
1010 |
|
|
run.
|
1011 |
|
|
|
1012 |
|
|
config SYSTEM_LDSO
|
1013 |
|
|
string "System shared library loader"
|
1014 |
|
|
depends on HAVE_SHARED && !BUILD_UCLIBC_LDSO
|
1015 |
|
|
default "/lib/ld-linux.so.2"
|
1016 |
|
|
help
|
1017 |
|
|
If you are using shared libraries, but do not want/have a native
|
1018 |
|
|
uClibc shared library loader, please specify the name of your
|
1019 |
|
|
target system's shared library loader here...
|
1020 |
|
|
|
1021 |
|
|
BIG FAT WARNING:
|
1022 |
|
|
If you do not have a shared library loader with the correct name
|
1023 |
|
|
sitting in the directory this points to, your binaries will not
|
1024 |
|
|
run.
|
1025 |
|
|
|
1026 |
|
|
config RUNTIME_PREFIX
|
1027 |
|
|
string "uClibc runtime library directory"
|
1028 |
|
|
default "/usr/$(TARGET_ARCH)-linux-uclibc/"
|
1029 |
|
|
help
|
1030 |
|
|
RUNTIME_PREFIX is the directory into which the uClibc runtime
|
1031 |
|
|
libraries will be installed. The result will look something
|
1032 |
|
|
like the following:
|
1033 |
|
|
$(RUNTIME_PREFIX)/
|
1034 |
|
|
lib/
|
1035 |
|
|
usr/bin/ldd
|
1036 |
|
|
sbin/ldconfig
|
1037 |
|
|
This value is used by the 'make install' Makefile target. Since this
|
1038 |
|
|
directory is compiled into the shared library loader, you will need to
|
1039 |
|
|
recompile uClibc if you change this value...
|
1040 |
|
|
|
1041 |
|
|
For a typical target system this should be set to "/", such that
|
1042 |
|
|
'make install' will install /lib/libuClibc-.so
|
1043 |
|
|
|
1044 |
|
|
config DEVEL_PREFIX
|
1045 |
|
|
string "uClibc development environment directory"
|
1046 |
|
|
default "/usr/$(TARGET_ARCH)-linux-uclibc/usr/"
|
1047 |
|
|
help
|
1048 |
|
|
DEVEL_PREFIX is the directory into which the uClibc development
|
1049 |
|
|
environment will be installed. The result will look something
|
1050 |
|
|
like the following:
|
1051 |
|
|
$(DEVEL_PREFIX)/
|
1052 |
|
|
lib/
|
1053 |
|
|
include/
|
1054 |
|
|
This value is used by the 'make install' Makefile target when
|
1055 |
|
|
installing a uClibc development environment.
|
1056 |
|
|
|
1057 |
|
|
For a typical target system this should be set to "/usr", such that
|
1058 |
|
|
'make install' will install /usr/include/
|
1059 |
|
|
|
1060 |
|
|
endmenu
|
1061 |
|
|
|
1062 |
|
|
menu "uClibc development/debugging options"
|
1063 |
|
|
|
1064 |
|
|
config DODEBUG
|
1065 |
|
|
bool "Build uClibc with debugging symbols"
|
1066 |
|
|
default n
|
1067 |
|
|
help
|
1068 |
|
|
Say Y here if you wish to compile uClibc with debugging symbols.
|
1069 |
|
|
This will allow you to use a debugger to examine uClibc internals
|
1070 |
|
|
while applications are running. This increases the size of the
|
1071 |
|
|
library considerably and should only be used when doing development.
|
1072 |
|
|
If you are doing development and want to debug uClibc, answer Y.
|
1073 |
|
|
|
1074 |
|
|
Otherwise, answer N.
|
1075 |
|
|
|
1076 |
|
|
config DOASSERTS
|
1077 |
|
|
bool "Build uClibc with run-time assertion testing"
|
1078 |
|
|
default n
|
1079 |
|
|
help
|
1080 |
|
|
Say Y here to include runtime assertion tests.
|
1081 |
|
|
This enables runtime assertion testing in some code, which can
|
1082 |
|
|
increase the size of the library and incur runtime overhead.
|
1083 |
|
|
If you say N, then this testing will be disabled.
|
1084 |
|
|
|
1085 |
|
|
config SUPPORT_LD_DEBUG
|
1086 |
|
|
bool "Build the shared library loader with debugging support"
|
1087 |
|
|
depends on BUILD_UCLIBC_LDSO
|
1088 |
|
|
default n
|
1089 |
|
|
help
|
1090 |
|
|
Answer Y here to enable all the extra code needed to debug the uClibc
|
1091 |
|
|
native shared library loader. The level of debugging noise that is
|
1092 |
|
|
generated depends on the LD_DEBUG environment variable... Just set
|
1093 |
|
|
LD_DEBUG to something like: 'LD_DEBUG=token1,token2,.. prog' to
|
1094 |
|
|
debug your application. Diagnostic messages will then be printed to
|
1095 |
|
|
the stderr.
|
1096 |
|
|
|
1097 |
|
|
For now these debugging tokens are available:
|
1098 |
|
|
detail provide more information for some options
|
1099 |
|
|
move display copy processing
|
1100 |
|
|
symbols display symbol table processing
|
1101 |
|
|
reloc display relocation processing; detail shows the relocation patch
|
1102 |
|
|
nofixups never fixes up jump relocations
|
1103 |
|
|
bindings displays the resolve processing (function calls); detail shows the relocation patch
|
1104 |
|
|
all Enable everything!
|
1105 |
|
|
|
1106 |
|
|
The additional environment variable:
|
1107 |
|
|
LD_DEBUG_OUTPUT=file
|
1108 |
|
|
redirects the diagnostics to an output file created using
|
1109 |
|
|
the specified name and the process id as a suffix.
|
1110 |
|
|
|
1111 |
|
|
An excellent start is simply:
|
1112 |
|
|
$ LD_DEBUG=binding,move,symbols,reloc,detail ./appname
|
1113 |
|
|
or to log everything to a file named 'logfile', try this
|
1114 |
|
|
$ LD_DEBUG=all LD_DEBUG_OUTPUT=logfile ./appname
|
1115 |
|
|
|
1116 |
|
|
If you are doing development and want to debug uClibc's shared library
|
1117 |
|
|
loader, answer Y. Mere mortals answer N.
|
1118 |
|
|
|
1119 |
|
|
config SUPPORT_LD_DEBUG_EARLY
|
1120 |
|
|
bool "Build the shared library loader with early debugging support"
|
1121 |
|
|
depends on BUILD_UCLIBC_LDSO
|
1122 |
|
|
default n
|
1123 |
|
|
help
|
1124 |
|
|
Answer Y here to if you find the uClibc shared library loader is
|
1125 |
|
|
crashing or otherwise not working very early on. This is typical
|
1126 |
|
|
only when starting a new port when you haven't figured out how to
|
1127 |
|
|
properly get the values for argc, argv, environ, etc. This method
|
1128 |
|
|
allows a degree of visibility into the very early shared library
|
1129 |
|
|
loader initialization process. If you are doing development and want
|
1130 |
|
|
to debug the uClibc shared library loader early initialization,
|
1131 |
|
|
answer Y. Mere mortals answer N.
|
1132 |
|
|
|
1133 |
|
|
config UCLIBC_MALLOC_DEBUGGING
|
1134 |
|
|
bool "Build malloc with debugging support"
|
1135 |
|
|
depends MALLOC
|
1136 |
|
|
default n
|
1137 |
|
|
help
|
1138 |
|
|
Answer Y here to compile extra debugging support code into malloc.
|
1139 |
|
|
Malloc debugging output may then be enabled at runtime using the
|
1140 |
|
|
MALLOC_DEBUG environment variable.
|
1141 |
|
|
|
1142 |
|
|
The value of MALLOC_DEBUG should be an integer, which is interpreted as
|
1143 |
|
|
a bitmask with the following bits:
|
1144 |
|
|
1 - do extra consistency checking
|
1145 |
|
|
2 - output messages for malloc/free calls and OS allocation calls
|
1146 |
|
|
4 - output messages for the `MMB' layer
|
1147 |
|
|
8 - output messages for internal malloc heap manipulation calls
|
1148 |
|
|
|
1149 |
|
|
Because this increases the size of malloc appreciably (due to strings
|
1150 |
|
|
etc), you should say N unless you need to debug a malloc problem.
|
1151 |
|
|
|
1152 |
|
|
config UCLIBC_MJN3_ONLY
|
1153 |
|
|
bool "Manuel's hidden warnings"
|
1154 |
|
|
default n
|
1155 |
|
|
help
|
1156 |
|
|
Answer Y here to see all Manuel's personal notes, warnings, and todos.
|
1157 |
|
|
|
1158 |
|
|
Most people will answer N.
|
1159 |
|
|
|
1160 |
|
|
endmenu
|