a55c660817eb5a23785418614d99b8a3645a36be
[openwrt/openwrt.git] / toolchain / eglibc / config / Config.in
1 config EGLIBC_OPTION_EGLIBC_ADVANCED_INET6
2 bool "IPv6 Advanced Sockets API support (RFC3542)"
3 default y
4 select EGLIBC_OPTION_EGLIBC_INET
5 help
6 This option group includes the functions specified by RFC 3542,
7 "Advanced Sockets Application Program Interface (API) for
8 IPv6".
9
10 This option group includes the following functions:
11
12 inet6_opt_append
13 inet6_opt_find
14 inet6_opt_finish
15 inet6_opt_get_val
16 inet6_opt_init
17 inet6_option_alloc
18 inet6_option_append
19 inet6_option_find
20 inet6_option_init
21 inet6_option_next
22 inet6_option_space
23 inet6_opt_next
24 inet6_opt_set_val
25 inet6_rth_add
26 inet6_rth_getaddr
27 inet6_rth_init
28 inet6_rth_reverse
29 inet6_rth_segments
30 inet6_rth_space
31
32
33 config EGLIBC_OPTION_EGLIBC_BACKTRACE
34 bool "Functions for producing backtraces"
35 default y
36 help
37 This option group includes functions for producing a list of
38 the function calls that are currently active in a thread, from
39 within the thread itself. These functions are often used
40 within signal handlers, to produce diagnostic output.
41
42 This option group includes the following functions:
43
44 backtrace
45 backtrace_symbols
46 backtrace_symbols_fd
47
48
49 config EGLIBC_OPTION_EGLIBC_BSD
50 bool "BSD-specific functions, and their compatibility stubs"
51 default y
52 help
53 This option group includes functions specific to BSD kernels.
54 A number of these functions have stub versions that are also
55 included in libraries built for non-BSD systems for
56 compatibility.
57
58 This option group includes the following functions:
59
60 chflags
61 fchflags
62 lchmod
63 revoke
64 setlogin
65
66
67 config EGLIBC_OPTION_EGLIBC_CXX_TESTS
68 bool "Tests that link against the standard C++ library."
69 default y
70 select EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
71 select EGLIBC_OPTION_EGLIBC_LIBM
72 help
73 This option group does not include any C library functions;
74 instead, it controls which EGLIBC tests an ordinary 'make
75 tests' runs. With this group disabled, tests that would
76 normally link against the standard C++ library are not
77 run.
78
79 The standard C++ library depends on the math library 'libm' and
80 the wide character I/O functions included in EGLIBC. If those
81 option groups are disabled, this test must also be disabled.
82
83
84 config EGLIBC_OPTION_EGLIBC_CATGETS
85 bool "Functions for accessing message catalogs"
86 default y
87 select EGLIBC_OPTION_EGLIBC_LOCALE_CODE
88 help
89 This option group includes functions for accessing message
90 catalogs: catopen, catclose, and catgets.
91
92 This option group depends on the EGLIBC_OPTION_EGLIBC_LOCALE_CODE
93 option group; if you disable that, you must also disable this.
94
95
96 config EGLIBC_OPTION_EGLIBC_CHARSETS
97 bool "iconv/gconv character set conversion libraries"
98 default y
99 help
100
101 This option group includes support for character sets other
102 than ASCII (ANSI_X3.4-1968) and Unicode and ISO-10646 in their
103 various encodings. This affects both the character sets
104 supported by the wide and multibyte character functions, and
105 those supported by the 'iconv' functions.
106
107 With this option group disabled, EGLIBC supports only the
108 following character sets:
109
110 ANSI_X3.4 - ASCII
111 ANSI_X3.4-1968
112 ANSI_X3.4-1986
113 ASCII
114 CP367
115 CSASCII
116 IBM367
117 ISO-IR-6
118 ISO646-US
119 ISO_646.IRV:1991
120 OSF00010020
121 US
122 US-ASCII
123
124 10646-1:1993 - ISO 10646, in big-endian UCS4 form
125 10646-1:1993/UCS4
126 CSUCS4
127 ISO-10646
128 ISO-10646/UCS4
129 OSF00010104
130 OSF00010105
131 OSF00010106
132 UCS-4
133 UCS-4BE
134 UCS4
135
136 UCS-4LE - ISO 10646, in little-endian UCS4 form
137
138 ISO-10646/UTF-8 - ISO 10646, in UTF-8 form
139 ISO-10646/UTF8
140 ISO-IR-193
141 OSF05010001
142 UTF-8
143 UTF8
144
145 ISO-10646/UCS2 - ISO 10646, in target-endian UCS2 form
146 OSF00010100
147 OSF00010101
148 OSF00010102
149 UCS-2
150 UCS2
151
152 UCS-2BE - ISO 10646, in big-endian UCS2 form
153 UNICODEBIG
154
155 UCS-2LE - ISO 10646, in little-endian UCS2 form
156 UNICODELITTLE
157
158 WCHAR_T - EGLIBC's internal form (target-endian,
159 32-bit ISO 10646)
160
161
162 config EGLIBC_OPTION_EGLIBC_DB_ALIASES
163 bool "Functions for accessing the mail aliases database"
164 default y
165 help
166 This option group includes functions for looking up mail
167 aliases in '/etc/aliases' or using nsswitch. It includes the
168 following functions:
169
170 endaliasent
171 getaliasbyname
172 getaliasbyname_r
173 getaliasent
174 getaliasent_r
175 setaliasent
176
177 When this option group is disabled, the NSS service libraries
178 also lack support for querying their mail alias tables.
179
180
181 config EGLIBC_OPTION_EGLIBC_ENVZ
182 bool "Functions for handling envz-style environment vectors."
183 default y
184 help
185 This option group contains functions for creating and operating
186 on envz vectors. An "envz vector" is a vector of strings in a
187 contiguous block of memory, where each element is a name-value
188 pair, and elements are separated from their neighbors by null
189 characters.
190
191 This option group includes the following functions:
192
193 envz_add envz_merge
194 envz_entry envz_remove
195 envz_get envz_strip
196
197
198 config EGLIBC_OPTION_EGLIBC_FCVT
199 bool "Functions for converting floating-point numbers to strings"
200 default y
201 depends EGLIBC_VERSION_2_10
202 help
203 This option group includes functions for converting
204 floating-point numbers to strings.
205
206 This option group includes the following functions:
207
208 ecvt qecvt
209 ecvt_r qecvt_r
210 fcvt qfcvt
211 fcvt_r qfcvt_r
212 gcvt qgcvt
213
214
215 config EGLIBC_OPTION_EGLIBC_FMTMSG
216 bool "Functions for formatting messages"
217 default y
218 depends EGLIBC_VERSION_2_10
219 help
220 This option group includes the following functions:
221
222 addseverity fmtmsg
223
224
225 config EGLIBC_OPTION_EGLIBC_FSTAB
226 bool "Access functions for 'fstab'"
227 default y
228 help
229 This option group includes functions for reading the mount
230 point specification table, '/etc/fstab'. These functions are
231 not included in the POSIX standard, which provides the
232 'getmntent' family of functions instead.
233
234 This option group includes the following functions:
235
236 endfsent getfsspec
237 getfsent setfsent
238 getfsfile
239
240 config EGLIBC_OPTION_EGLIBC_FTRAVERSE
241 bool "Functions for traversing file hierarchies"
242 default y
243 depends EGLIBC_VERSION_2_10
244 help
245 This option group includes functions for traversing file
246 UNIX file hierachies.
247
248 This option group includes the following functions:
249
250 fts_open ftw
251 fts_read nftw
252 fts_children ftw64
253 fts_set nftw64
254 fts_close
255
256
257 config EGLIBC_OPTION_EGLIBC_GETLOGIN
258 bool "The getlogin function"
259 default y
260 select EGLIBC_OPTION_EGLIBC_UTMP
261 help
262 This function group includes the 'getlogin' and 'getlogin_r'
263 functions, which return the user name associated by the login
264 activity with the current process's controlling terminal.
265
266 With this option group disabled, the 'glob' function will not
267 fall back on 'getlogin' to find the user's login name for tilde
268 expansion when the 'HOME' environment variable is not set.
269
270
271 config EGLIBC_OPTION_EGLIBC_INET
272 bool "Networking support"
273 default y
274 help
275 This option group includes networking-specific functions and
276 data. With EGLIBC_OPTION_EGLIBC_INET disabled, the EGLIBC
277 installation and API changes as follows:
278
279 - The following libraries are not installed:
280
281 libanl
282 libnsl
283 libnss_compat
284 libnss_dns
285 libnss_hesiod
286 libnss_nis
287 libnss_nisplus
288 libresolv
289
290 - The following functions and variables are omitted from libc:
291
292 authdes_create hstrerror svc_fdset
293 authdes_getucred htonl svc_getreq
294 authdes_pk_create htons svc_getreq_common
295 authnone_create if_freenameindex svc_getreq_poll
296 authunix_create if_indextoname svc_getreqset
297 authunix_create_default if_nameindex svc_max_pollfd
298 bindresvport if_nametoindex svc_pollfd
299 callrpc in6addr_any svcraw_create
300 cbc_crypt in6addr_loopback svc_register
301 clnt_broadcast inet6_opt_append svc_run
302 clnt_create inet6_opt_find svc_sendreply
303 clnt_pcreateerror inet6_opt_finish svctcp_create
304 clnt_perrno inet6_opt_get_val svcudp_bufcreate
305 clnt_perror inet6_opt_init svcudp_create
306 clntraw_create inet6_option_alloc svcudp_enablecache
307 clnt_spcreateerror inet6_option_append svcunix_create
308 clnt_sperrno inet6_option_find svcunixfd_create
309 clnt_sperror inet6_option_init svc_unregister
310 clnttcp_create inet6_option_next user2netname
311 clntudp_bufcreate inet6_option_space xdecrypt
312 clntudp_create inet6_opt_next xdr_accepted_reply
313 clntunix_create inet6_opt_set_val xdr_array
314 des_setparity inet6_rth_add xdr_authdes_cred
315 ecb_crypt inet6_rth_getaddr xdr_authdes_verf
316 endaliasent inet6_rth_init xdr_authunix_parms
317 endhostent inet6_rth_reverse xdr_bool
318 endnetent inet6_rth_segments xdr_bytes
319 endnetgrent inet6_rth_space xdr_callhdr
320 endprotoent inet_addr xdr_callmsg
321 endrpcent inet_aton xdr_char
322 endservent inet_lnaof xdr_cryptkeyarg
323 ether_aton inet_makeaddr xdr_cryptkeyarg2
324 ether_aton_r inet_netof xdr_cryptkeyres
325 ether_hostton inet_network xdr_des_block
326 ether_line inet_nsap_addr xdr_double
327 ether_ntoa inet_nsap_ntoa xdr_enum
328 ether_ntoa_r inet_ntoa xdr_float
329 ether_ntohost inet_ntop xdr_free
330 freeaddrinfo inet_pton xdr_getcredres
331 freeifaddrs innetgr xdr_hyper
332 gai_strerror iruserok xdr_int
333 getaddrinfo iruserok_af xdr_int16_t
334 getaliasbyname key_decryptsession xdr_int32_t
335 getaliasbyname_r key_decryptsession_pk xdr_int64_t
336 getaliasent key_encryptsession xdr_int8_t
337 getaliasent_r key_encryptsession_pk xdr_keybuf
338 gethostbyaddr key_gendes xdr_key_netstarg
339 gethostbyaddr_r key_get_conv xdr_key_netstres
340 gethostbyname key_secretkey_is_set xdr_keystatus
341 gethostbyname2 key_setnet xdr_long
342 gethostbyname2_r key_setsecret xdr_longlong_t
343 gethostbyname_r netname2host xdrmem_create
344 gethostent netname2user xdr_netnamestr
345 gethostent_r ntohl xdr_netobj
346 getifaddrs ntohs xdr_opaque
347 getipv4sourcefilter passwd2des xdr_opaque_auth
348 get_myaddress pmap_getmaps xdr_pmap
349 getnameinfo pmap_getport xdr_pmaplist
350 getnetbyaddr pmap_rmtcall xdr_pointer
351 getnetbyaddr_r pmap_set xdr_quad_t
352 getnetbyname pmap_unset xdrrec_create
353 getnetbyname_r rcmd xdrrec_endofrecord
354 getnetent rcmd_af xdrrec_eof
355 getnetent_r registerrpc xdrrec_skiprecord
356 getnetgrent res_init xdr_reference
357 getnetgrent_r rexec xdr_rejected_reply
358 getnetname rexec_af xdr_replymsg
359 getprotobyname rexecoptions xdr_rmtcall_args
360 getprotobyname_r rpc_createerr xdr_rmtcallres
361 getprotobynumber rresvport xdr_short
362 getprotobynumber_r rresvport_af xdr_sizeof
363 getprotoent rtime xdrstdio_create
364 getprotoent_r ruserok xdr_string
365 getpublickey ruserok_af xdr_u_char
366 getrpcbyname ruserpass xdr_u_hyper
367 getrpcbyname_r setaliasent xdr_u_int
368 getrpcbynumber sethostent xdr_uint16_t
369 getrpcbynumber_r setipv4sourcefilter xdr_uint32_t
370 getrpcent setnetent xdr_uint64_t
371 getrpcent_r setnetgrent xdr_uint8_t
372 getrpcport setprotoent xdr_u_long
373 getsecretkey setrpcent xdr_u_longlong_t
374 getservbyname setservent xdr_union
375 getservbyname_r setsourcefilter xdr_unixcred
376 getservbyport svcauthdes_stats xdr_u_quad_t
377 getservbyport_r svcerr_auth xdr_u_short
378 getservent svcerr_decode xdr_vector
379 getservent_r svcerr_noproc xdr_void
380 getsourcefilter svcerr_noprog xdr_wrapstring
381 h_errlist svcerr_progvers xencrypt
382 h_errno svcerr_systemerr xprt_register
383 herror svcerr_weakauth xprt_unregister
384 h_nerr svc_exit
385 host2netname svcfd_create
386
387 - The rpcgen, nscd, and rpcinfo commands are not installed.
388
389 - The 'rpc' file (a text file listing RPC services) is not installed.
390
391 Socket-related system calls do not fall in this option group,
392 because many are also used for other inter-process
393 communication mechanisms. For example, the 'syslog' routines
394 use Unix-domain sockets to communicate with the syslog daemon;
395 syslog is valuable in non-networked contexts.
396
397
398 config EGLIBC_OPTION_EGLIBC_LIBM
399 bool "libm (math library)"
400 default y
401 help
402 This option group includes the 'libm' library, containing
403 mathematical functions. If this option group is omitted, then
404 an EGLIBC installation does not include shared or unshared versions
405 of the math library.
406
407 Note that this does not remove all floating-point related
408 functionality from EGLIBC; for example, 'printf' and 'scanf'
409 can still print and read floating-point values with this option
410 group disabled.
411
412 Note that the ISO Standard C++ library 'libstdc++' depends on
413 EGLIBC's math library 'libm'. If you disable this option
414 group, you will not be able to build 'libstdc++' against the
415 resulting EGLIBC installation.
416
417
418 config EGLIBC_OPTION_EGLIBC_LOCALES
419 bool "Locale definitions"
420 default y
421 help
422 This option group includes all locale definitions other than
423 that for the "C" locale. If this option group is omitted, then
424 only the "C" locale is supported.
425
426
427 config EGLIBC_OPTION_EGLIBC_LOCALE_CODE
428 bool "Locale functions"
429 default y
430 select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
431 help
432 This option group includes locale support functions, programs,
433 and libraries. With EGLIBC_LOCALE_FUNCTIONS disabled,
434 EGLIBC supports only the 'C' locale (also known as 'POSIX'),
435 and ignores the settings of the 'LANG' and 'LC_*' environment
436 variables.
437
438 With EGLIBC_OPTION_LOCALE_CODE disabled, the following
439 functions are omitted from libc:
440
441 duplocale localeconv nl_langinfo rpmatch strfmon_l
442 freelocale newlocale nl_langinfo_l strfmon uselocale
443
444 Furthermore, only the LC_CTYPE and LC_TIME categories of the
445 standard "C" locale are available.
446
447 The EGLIBC_OPTION_EGLIBC_CATGETS option group depends on this option
448 group; if you disable EGLIBC_OPTION_EGLIBC_LOCALE_CODE, you must also
449 disable EGLIBC_OPTION_EGLIBC_CATGETS.
450
451
452 config EGLIBC_OPTION_EGLIBC_NIS
453 bool "Support for NIS, NIS+, and the special 'compat' services."
454 default y
455 select EGLIBC_OPTION_EGLIBC_INET
456 select EGLIBC_OPTION_EGLIBC_SUNRPC
457 help
458 This option group includes the NIS, NIS+, and 'compat' Name
459 Service Switch service libraries. When it is disabled, those
460 services libraries are not installed; you should remove any
461 references to them from your 'nsswitch.conf' file.
462
463 This option group depends on the EGLIBC_OPTION_EGLIBC_INET option
464 group; you must enable that to enable this option group.
465
466
467 config EGLIBC_OPTION_EGLIBC_NSSWITCH
468 bool "Name service switch (nsswitch) support"
469 default y
470 help
471
472 This option group includes support for the 'nsswitch' facility.
473 With this option group enabled, all EGLIBC functions for
474 accessing various system databases (passwords and groups;
475 networking; aliases; public keys; and so on) consult the
476 '/etc/nsswitch.conf' configuration file to decide how to handle
477 queries.
478
479 With this option group disabled, EGLIBC uses a fixed list of
480 services to satisfy queries on each database, as requested by
481 configuration files specified when EGLIBC is built. Your
482 'option-groups.config' file must set the following two
483 variables:
484
485 EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
486
487 Set this to the name of a file whose contents observe the
488 same syntax as an ordinary '/etc/nsswitch.conf' file. The
489 EGLIBC build process parses this file just as EGLIBC would
490 at run time if EGLIBC_NSSWITCH were enabled, and
491 produces a C library that uses the nsswitch service
492 libraries to search for database entries as this file
493 specifies, instead of consulting '/etc/nsswitch.conf' at run
494 time.
495
496 This should be an absolute filename. The EGLIBC build
497 process may use it from several different working
498 directories. It may include references to Makefile
499 variables like 'common-objpfx' (the top of the build tree,
500 with a trailing slash), or '..' (the top of the source tree,
501 with a trailing slash).
502
503 The EGLIBC source tree includes a sample configuration file
504 named 'nss/fixed-nsswitch.conf'; for simple configurations,
505 you will probably want to delete references to databases not
506 needed on your system.
507
508 EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS
509
510 The EGLIBC build process uses this file to decide which
511 functions to make available from which service libraries.
512 The file 'nss/fixed-nsswitch.functions' serves as a sample
513 configuration file for this setting, and explains its syntax
514 and meaning in more detail.
515
516 This should be an absolute file name. The EGLIBC build
517 process may use it from several different working
518 directories. It may include references to Makefile
519 variables like 'common-objpfx' (the top of the build tree,
520 with a trailing slash), or '..' (the top of the source tree,
521 with a trailing slash).
522
523 Be sure to mention each function in each service you wish to
524 use. If you do not mention a service's function here, the
525 EGLIBC database access functions will not find it, even if
526 it is listed in the EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
527 file.
528
529 In this arrangement, EGLIBC will not use the 'dlopen' and
530 'dlsym' functions to find database access functions. Instead,
531 libc hard-codes references to the service libraries' database
532 access functions. You must explicitly link your program
533 against the name service libraries (those whose names start
534 with 'libnss_', in the sysroot's '/lib' directory) whose
535 functions you intend to use. This arrangement helps
536 system-wide static analysis tools decide which functions a
537 system actually uses.
538
539 Note that some nsswitch service libraries require other option
540 groups to be enabled; for example, the EGLIBC_INET
541 option group must be enabled to use the 'libnss_dns.so.2'
542 service library, which uses the Domain Name System network
543 protocol to answer queries.
544
545
546 config EGLIBC_OPTION_EGLIBC_RCMD
547 bool "Support for 'rcmd' and related library functions"
548 default y
549 select EGLIBC_OPTION_EGLIBC_INET
550 help
551 This option group includes functions for running commands on
552 remote machines via the 'rsh' protocol, and doing authentication
553 related to those functions. This also includes functions that
554 use the 'rexec' protocol.
555
556 This option group includes the following functions:
557
558 rcmd ruserok
559 rcmd_af ruserok_af
560 rexec iruserok
561 rexec_af iruserok_af
562 rresvport ruserpass
563 rresvport_af
564
565
566 config EGLIBC_OPTION_EGLIBC_SPAWN
567 bool "Support for POSIX posix_spawn functions"
568 default y
569 help
570 This option group includes the POSIX functions for executing
571 programs in child processes without using 'fork' or 'vfork'.
572
573 This option group includes the following functions:
574
575 posix_spawn
576 posix_spawnattr_destroy
577 posix_spawnattr_getflags
578 posix_spawnattr_getpgroup
579 posix_spawnattr_getschedparam
580 posix_spawnattr_getschedpolicy
581 posix_spawnattr_getsigdefault
582 posix_spawnattr_getsigmask
583 posix_spawnattr_init
584 posix_spawnattr_setflags
585 posix_spawnattr_setpgroup
586 posix_spawnattr_setschedparam
587 posix_spawnattr_setschedpolicy
588 posix_spawnattr_setsigdefault
589 posix_spawnattr_setsigmask
590 posix_spawn_file_actions_addclose
591 posix_spawn_file_actions_adddup2
592 posix_spawn_file_actions_addopen
593 posix_spawn_file_actions_destroy
594 posix_spawn_file_actions_init
595 posix_spawnp
596
597 This option group also provides the ability for the iconv,
598 localedef, and locale programs to operate transparently on
599 compressed charset definitions. When this option group is
600 disabled, those programs will only operate on uncompressed
601 charmap files.
602
603
604 config EGLIBC_OPTION_EGLIBC_STREAMS
605 bool "Support for accessing STREAMS."
606 default y
607 help
608 This option group includes functions for reading and writing
609 messages to and from STREAMS. The STREAMS interface provides a
610 uniform mechanism for implementing networking services and other
611 character-based I/O. (STREAMS are not to be confused with
612 <stdio.h> FILE objects, also called 'streams'.)
613
614 This option group includes the following functions:
615
616 getmsg putpmsg
617 getpmsg fattach
618 isastream fdetach
619 putmsg
620
621
622 config EGLIBC_OPTION_EGLIBC_SUNRPC
623 bool "Support for the Sun 'RPC' protocol."
624 default y
625 select EGLIBC_OPTION_EGLIBC_INET
626 help
627 This option group includes support for the Sun RPC protocols,
628 including the 'rpcgen' and 'rpcinfo' programs.
629
630
631 config EGLIBC_OPTION_EGLIBC_UTMP
632 bool "Older access functions for 'utmp' login records"
633 default y
634 help
635 This option group includes the older 'utent' family of
636 functions for accessing user login records in the 'utmp' file.
637 POSIX omits these functions in favor of the 'utxent' family,
638 and they are obsolete on systems other than Linux.
639
640 This option group includes the following functions:
641
642 endutent
643 getutent
644 getutent_r
645 getutid
646 getutid_r
647 getutline
648 getutline_r
649 logwtmp
650 pututline
651 setutent
652 updwtmp
653 utmpname
654
655 This option group includes the following libraries:
656
657 libutil.so (and libutil.a)
658
659
660 config EGLIBC_OPTION_EGLIBC_UTMPX
661 bool "POSIX access functions for 'utmp' login records"
662 default y
663 select EGLIBC_OPTION_EGLIBC_UTMP
664 help
665 This option group includes the POSIX functions for reading and
666 writing user login records in the 'utmp' file (usually
667 '/var/run/utmp'). The POSIX functions operate on 'struct
668 utmpx' structures, as opposed to the family of older 'utent'
669 functions, which operate on 'struct utmp' structures.
670
671 This option group includes the following functions:
672
673 endutxent
674 getutmp
675 getutmpx
676 getutxent
677 getutxid
678 getutxline
679 pututxline
680 setutxent
681 updwtmpx
682 utmpxname
683
684
685 config EGLIBC_OPTION_EGLIBC_WORDEXP
686 bool "Shell-style word expansion"
687 default y
688 help
689 This option group includes the 'wordexp' function for
690 performing word expansion in the manner of the shell, and the
691 accompanying 'wordfree' function.
692
693
694 config EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
695 bool "ISO C library wide character functions, excluding I/O"
696 default y
697 depends EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
698 help
699 This option group includes the functions defined by the ISO C
700 standard for working with wide and multibyte characters in
701 memory. Functions for reading and writing wide and multibyte
702 characters from and to files call in the
703 EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO option group.
704
705 This option group includes the following functions:
706
707 btowc mbsinit wcscspn wcstoll
708 iswalnum mbsrtowcs wcsftime wcstombs
709 iswalpha mbstowcs wcslen wcstoul
710 iswblank mbtowc wcsncat wcstoull
711 iswcntrl swprintf wcsncmp wcstoumax
712 iswctype swscanf wcsncpy wcsxfrm
713 iswdigit towctrans wcspbrk wctob
714 iswgraph towlower wcsrchr wctomb
715 iswlower towupper wcsrtombs wctrans
716 iswprint vswprintf wcsspn wctype
717 iswpunct vswscanf wcsstr wmemchr
718 iswspace wcrtomb wcstod wmemcmp
719 iswupper wcscat wcstof wmemcpy
720 iswxdigit wcschr wcstoimax wmemmove
721 mblen wcscmp wcstok wmemset
722 mbrlen wcscoll wcstol
723 mbrtowc wcscpy wcstold
724
725
726 config EGLIBC_OPTION_POSIX_REGEXP
727 bool "Regular expressions"
728 default y
729 help
730 This option group includes the POSIX regular expression
731 functions, and the associated non-POSIX extensions and
732 compatibility functions.
733
734 With EGLIBC_OPTION_POSIX_REGEXP disabled, the following functions are
735 omitted from libc:
736
737 re_comp re_max_failures regcomp
738 re_compile_fastmap re_search regerror
739 re_compile_pattern re_search_2 regexec
740 re_exec re_set_registers regfree
741 re_match re_set_syntax rpmatch
742 re_match_2 re_syntax_options
743
744 Furthermore, the compatibility regexp interface defined in the
745 <regexp.h> header file, 'compile', 'step', and 'advance', is
746 omitted.
747
748
749 config EGLIBC_OPTION_POSIX_REGEXP_GLIBC
750 bool "Regular expressions from GLIBC"
751 default y
752 depends EGLIBC_VERSION_2_10
753 select EGLIBC_OPTION_POSIX_REGEXP
754 help
755 This option group specifies which regular expression
756 library to use. The choice is between regex
757 implementation from GLIBC and regex implementation from
758 libiberty. The GLIBC variant is fully POSIX conformant and
759 optimized for speed; regex from libiberty is more than twice
760 as small while still is enough for most practical purposes.
761
762
763 config EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
764 bool "Input and output functions for wide characters"
765 default y
766 select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
767 help
768 This option group includes functions for reading and writing
769 wide characters to and from <stdio.h> streams.
770
771 This option group includes the following functions:
772
773 fgetwc fwprintf putwchar vwscanf
774 fgetws fwscanf ungetwc wprintf
775 fputwc getwc vfwprintf wscanf
776 fputws getwchar vfwscanf
777 fwide putwc vwprintf
778
779 This option group further includes the following unlocked
780 variants of the above functions:
781
782 fgetwc_unlocked getwc_unlocked
783 fgetws_unlocked getwchar_unlocked
784 fputwc_unlocked putwc_unlocked
785 fputws_unlocked putwchar_unlocked
786
787 Note that the GNU standard C++ library, 'libstdc++.so', uses
788 some of these functions; you will not be able to link or run
789 C++ programs if you disable this option group.
790
791 This option group also affects the behavior of the following
792 functions:
793
794 fdopen
795 fopen
796 fopen64
797 freopen
798 freopen64
799
800 These functions all take an OPENTYPE parameter which may
801 contain a string of the form ",ccs=CHARSET", indicating that
802 the underlying file uses the character set named CHARSET.
803 This produces a wide-oriented stream, which is only useful
804 when the functions included in this option group are present.
805 If the user attempts to open a file specifying a character set
806 in the OPENTYPE parameter, and EGLIBC was built with this
807 option group disabled, the function returns NULL, and sets
808 errno to EINVAL.