OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [uClibc/] [extra/] [Configs/] [Config.in] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
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 end­of­file.
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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.