eed1b2f905c5d9877674fa645aee66052db0cdde
[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
241 config EGLIBC_OPTION_EGLIBC_FTRAVERSE
242 bool "Functions for traversing file hierarchies"
243 default y
244 depends EGLIBC_VERSION_2_10
245 help
246 This option group includes functions for traversing file
247 UNIX file hierachies.
248
249 This option group includes the following functions:
250
251 fts_open ftw
252 fts_read nftw
253 fts_children ftw64
254 fts_set nftw64
255 fts_close
256
257
258 config EGLIBC_OPTION_EGLIBC_GETLOGIN
259 bool "The getlogin function"
260 default y
261 select EGLIBC_OPTION_EGLIBC_UTMP
262 help
263 This function group includes the 'getlogin' and 'getlogin_r'
264 functions, which return the user name associated by the login
265 activity with the current process's controlling terminal.
266
267 With this option group disabled, the 'glob' function will not
268 fall back on 'getlogin' to find the user's login name for tilde
269 expansion when the 'HOME' environment variable is not set.
270
271
272 config EGLIBC_OPTION_EGLIBC_INET
273 bool "Networking support"
274 default y
275 help
276 This option group includes networking-specific functions and
277 data. With EGLIBC_OPTION_EGLIBC_INET disabled, the EGLIBC
278 installation and API changes as follows:
279
280 - The following libraries are not installed:
281
282 libanl
283 libnsl
284 libnss_compat
285 libnss_dns
286 libnss_hesiod
287 libnss_nis
288 libnss_nisplus
289 libresolv
290
291 - The following functions and variables are omitted from libc:
292
293 authdes_create hstrerror svc_fdset
294 authdes_getucred htonl svc_getreq
295 authdes_pk_create htons svc_getreq_common
296 authnone_create if_freenameindex svc_getreq_poll
297 authunix_create if_indextoname svc_getreqset
298 authunix_create_default if_nameindex svc_max_pollfd
299 bindresvport if_nametoindex svc_pollfd
300 callrpc in6addr_any svcraw_create
301 cbc_crypt in6addr_loopback svc_register
302 clnt_broadcast inet6_opt_append svc_run
303 clnt_create inet6_opt_find svc_sendreply
304 clnt_pcreateerror inet6_opt_finish svctcp_create
305 clnt_perrno inet6_opt_get_val svcudp_bufcreate
306 clnt_perror inet6_opt_init svcudp_create
307 clntraw_create inet6_option_alloc svcudp_enablecache
308 clnt_spcreateerror inet6_option_append svcunix_create
309 clnt_sperrno inet6_option_find svcunixfd_create
310 clnt_sperror inet6_option_init svc_unregister
311 clnttcp_create inet6_option_next user2netname
312 clntudp_bufcreate inet6_option_space xdecrypt
313 clntudp_create inet6_opt_next xdr_accepted_reply
314 clntunix_create inet6_opt_set_val xdr_array
315 des_setparity inet6_rth_add xdr_authdes_cred
316 ecb_crypt inet6_rth_getaddr xdr_authdes_verf
317 endaliasent inet6_rth_init xdr_authunix_parms
318 endhostent inet6_rth_reverse xdr_bool
319 endnetent inet6_rth_segments xdr_bytes
320 endnetgrent inet6_rth_space xdr_callhdr
321 endprotoent inet_addr xdr_callmsg
322 endrpcent inet_aton xdr_char
323 endservent inet_lnaof xdr_cryptkeyarg
324 ether_aton inet_makeaddr xdr_cryptkeyarg2
325 ether_aton_r inet_netof xdr_cryptkeyres
326 ether_hostton inet_network xdr_des_block
327 ether_line inet_nsap_addr xdr_double
328 ether_ntoa inet_nsap_ntoa xdr_enum
329 ether_ntoa_r inet_ntoa xdr_float
330 ether_ntohost inet_ntop xdr_free
331 freeaddrinfo inet_pton xdr_getcredres
332 freeifaddrs innetgr xdr_hyper
333 gai_strerror iruserok xdr_int
334 getaddrinfo iruserok_af xdr_int16_t
335 getaliasbyname key_decryptsession xdr_int32_t
336 getaliasbyname_r key_decryptsession_pk xdr_int64_t
337 getaliasent key_encryptsession xdr_int8_t
338 getaliasent_r key_encryptsession_pk xdr_keybuf
339 gethostbyaddr key_gendes xdr_key_netstarg
340 gethostbyaddr_r key_get_conv xdr_key_netstres
341 gethostbyname key_secretkey_is_set xdr_keystatus
342 gethostbyname2 key_setnet xdr_long
343 gethostbyname2_r key_setsecret xdr_longlong_t
344 gethostbyname_r netname2host xdrmem_create
345 gethostent netname2user xdr_netnamestr
346 gethostent_r ntohl xdr_netobj
347 getifaddrs ntohs xdr_opaque
348 getipv4sourcefilter passwd2des xdr_opaque_auth
349 get_myaddress pmap_getmaps xdr_pmap
350 getnameinfo pmap_getport xdr_pmaplist
351 getnetbyaddr pmap_rmtcall xdr_pointer
352 getnetbyaddr_r pmap_set xdr_quad_t
353 getnetbyname pmap_unset xdrrec_create
354 getnetbyname_r rcmd xdrrec_endofrecord
355 getnetent rcmd_af xdrrec_eof
356 getnetent_r registerrpc xdrrec_skiprecord
357 getnetgrent res_init xdr_reference
358 getnetgrent_r rexec xdr_rejected_reply
359 getnetname rexec_af xdr_replymsg
360 getprotobyname rexecoptions xdr_rmtcall_args
361 getprotobyname_r rpc_createerr xdr_rmtcallres
362 getprotobynumber rresvport xdr_short
363 getprotobynumber_r rresvport_af xdr_sizeof
364 getprotoent rtime xdrstdio_create
365 getprotoent_r ruserok xdr_string
366 getpublickey ruserok_af xdr_u_char
367 getrpcbyname ruserpass xdr_u_hyper
368 getrpcbyname_r setaliasent xdr_u_int
369 getrpcbynumber sethostent xdr_uint16_t
370 getrpcbynumber_r setipv4sourcefilter xdr_uint32_t
371 getrpcent setnetent xdr_uint64_t
372 getrpcent_r setnetgrent xdr_uint8_t
373 getrpcport setprotoent xdr_u_long
374 getsecretkey setrpcent xdr_u_longlong_t
375 getservbyname setservent xdr_union
376 getservbyname_r setsourcefilter xdr_unixcred
377 getservbyport svcauthdes_stats xdr_u_quad_t
378 getservbyport_r svcerr_auth xdr_u_short
379 getservent svcerr_decode xdr_vector
380 getservent_r svcerr_noproc xdr_void
381 getsourcefilter svcerr_noprog xdr_wrapstring
382 h_errlist svcerr_progvers xencrypt
383 h_errno svcerr_systemerr xprt_register
384 herror svcerr_weakauth xprt_unregister
385 h_nerr svc_exit
386 host2netname svcfd_create
387
388 - The rpcgen, nscd, and rpcinfo commands are not installed.
389
390 - The 'rpc' file (a text file listing RPC services) is not installed.
391
392 Socket-related system calls do not fall in this option group,
393 because many are also used for other inter-process
394 communication mechanisms. For example, the 'syslog' routines
395 use Unix-domain sockets to communicate with the syslog daemon;
396 syslog is valuable in non-networked contexts.
397
398
399 config EGLIBC_OPTION_EGLIBC_LIBM
400 bool "libm (math library)"
401 default y
402 help
403 This option group includes the 'libm' library, containing
404 mathematical functions. If this option group is omitted, then
405 an EGLIBC installation does not include shared or unshared versions
406 of the math library.
407
408 Note that this does not remove all floating-point related
409 functionality from EGLIBC; for example, 'printf' and 'scanf'
410 can still print and read floating-point values with this option
411 group disabled.
412
413 Note that the ISO Standard C++ library 'libstdc++' depends on
414 EGLIBC's math library 'libm'. If you disable this option
415 group, you will not be able to build 'libstdc++' against the
416 resulting EGLIBC installation.
417
418
419 config EGLIBC_OPTION_EGLIBC_LOCALES
420 bool "Locale definitions"
421 default y
422 help
423 This option group includes all locale definitions other than
424 that for the "C" locale. If this option group is omitted, then
425 only the "C" locale is supported.
426
427
428 config EGLIBC_OPTION_EGLIBC_LOCALE_CODE
429 bool "Locale functions"
430 default y
431 select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
432 help
433 This option group includes locale support functions, programs,
434 and libraries. With EGLIBC_OPTION_EGLIBC_LOCALE_CODE disabled,
435 EGLIBC supports only the 'C' locale (also known as 'POSIX'),
436 and ignores the settings of the 'LANG' and 'LC_*' environment
437 variables.
438
439 With EGLIBC_OPTION_EGLIBC_LOCALE_CODE disabled, the following
440 functions are omitted from libc:
441
442 duplocale localeconv nl_langinfo rpmatch strfmon_l
443 freelocale newlocale nl_langinfo_l strfmon uselocale
444
445 Furthermore, only the LC_CTYPE and LC_TIME categories of the
446 standard "C" locale are available.
447
448 The EGLIBC_OPTION_EGLIBC_CATGETS option group depends on this option
449 group; if you disable EGLIBC_OPTION_EGLIBC_LOCALE_CODE, you must also
450 disable EGLIBC_OPTION_EGLIBC_CATGETS.
451
452
453 config EGLIBC_OPTION_EGLIBC_NIS
454 bool "Support for NIS, NIS+, and the special 'compat' services."
455 default y
456 select EGLIBC_OPTION_EGLIBC_INET
457 select EGLIBC_OPTION_EGLIBC_SUNRPC
458 help
459 This option group includes the NIS, NIS+, and 'compat' Name
460 Service Switch service libraries. When it is disabled, those
461 services libraries are not installed; you should remove any
462 references to them from your 'nsswitch.conf' file.
463
464 This option group depends on the EGLIBC_OPTION_EGLIBC_INET option
465 group; you must enable that to enable this option group.
466
467
468 config EGLIBC_OPTION_EGLIBC_NSSWITCH
469 bool "Name service switch (nsswitch) support"
470 default y
471 help
472
473 This option group includes support for the 'nsswitch' facility.
474 With this option group enabled, all EGLIBC functions for
475 accessing various system databases (passwords and groups;
476 networking; aliases; public keys; and so on) consult the
477 '/etc/nsswitch.conf' configuration file to decide how to handle
478 queries.
479
480 With this option group disabled, EGLIBC uses a fixed list of
481 services to satisfy queries on each database, as requested by
482 configuration files specified when EGLIBC is built. Your
483 'option-groups.config' file must set the following two
484 variables:
485
486 EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
487
488 Set this to the name of a file whose contents observe the
489 same syntax as an ordinary '/etc/nsswitch.conf' file. The
490 EGLIBC build process parses this file just as EGLIBC would
491 at run time if EGLIBC_NSSWITCH were enabled, and
492 produces a C library that uses the nsswitch service
493 libraries to search for database entries as this file
494 specifies, instead of consulting '/etc/nsswitch.conf' at run
495 time.
496
497 This should be an absolute filename. The EGLIBC build
498 process may use it from several different working
499 directories. It may include references to Makefile
500 variables like 'common-objpfx' (the top of the build tree,
501 with a trailing slash), or '..' (the top of the source tree,
502 with a trailing slash).
503
504 The EGLIBC source tree includes a sample configuration file
505 named 'nss/fixed-nsswitch.conf'; for simple configurations,
506 you will probably want to delete references to databases not
507 needed on your system.
508
509 EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS
510
511 The EGLIBC build process uses this file to decide which
512 functions to make available from which service libraries.
513 The file 'nss/fixed-nsswitch.functions' serves as a sample
514 configuration file for this setting, and explains its syntax
515 and meaning in more detail.
516
517 This should be an absolute file name. The EGLIBC build
518 process may use it from several different working
519 directories. It may include references to Makefile
520 variables like 'common-objpfx' (the top of the build tree,
521 with a trailing slash), or '..' (the top of the source tree,
522 with a trailing slash).
523
524 Be sure to mention each function in each service you wish to
525 use. If you do not mention a service's function here, the
526 EGLIBC database access functions will not find it, even if
527 it is listed in the EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
528 file.
529
530 In this arrangement, EGLIBC will not use the 'dlopen' and
531 'dlsym' functions to find database access functions. Instead,
532 libc hard-codes references to the service libraries' database
533 access functions. You must explicitly link your program
534 against the name service libraries (those whose names start
535 with 'libnss_', in the sysroot's '/lib' directory) whose
536 functions you intend to use. This arrangement helps
537 system-wide static analysis tools decide which functions a
538 system actually uses.
539
540 Note that some nsswitch service libraries require other option
541 groups to be enabled; for example, the EGLIBC_INET
542 option group must be enabled to use the 'libnss_dns.so.2'
543 service library, which uses the Domain Name System network
544 protocol to answer queries.
545
546
547 config EGLIBC_OPTION_EGLIBC_RCMD
548 bool "Support for 'rcmd' and related library functions"
549 default y
550 select EGLIBC_OPTION_EGLIBC_INET
551 help
552 This option group includes functions for running commands on
553 remote machines via the 'rsh' protocol, and doing authentication
554 related to those functions. This also includes functions that
555 use the 'rexec' protocol.
556
557 This option group includes the following functions:
558
559 rcmd ruserok
560 rcmd_af ruserok_af
561 rexec iruserok
562 rexec_af iruserok_af
563 rresvport ruserpass
564 rresvport_af
565
566
567 config EGLIBC_OPTION_EGLIBC_SPAWN
568 bool "Support for POSIX posix_spawn functions"
569 default y
570 help
571 This option group includes the POSIX functions for executing
572 programs in child processes without using 'fork' or 'vfork'.
573
574 This option group includes the following functions:
575
576 posix_spawn
577 posix_spawnattr_destroy
578 posix_spawnattr_getflags
579 posix_spawnattr_getpgroup
580 posix_spawnattr_getschedparam
581 posix_spawnattr_getschedpolicy
582 posix_spawnattr_getsigdefault
583 posix_spawnattr_getsigmask
584 posix_spawnattr_init
585 posix_spawnattr_setflags
586 posix_spawnattr_setpgroup
587 posix_spawnattr_setschedparam
588 posix_spawnattr_setschedpolicy
589 posix_spawnattr_setsigdefault
590 posix_spawnattr_setsigmask
591 posix_spawn_file_actions_addclose
592 posix_spawn_file_actions_adddup2
593 posix_spawn_file_actions_addopen
594 posix_spawn_file_actions_destroy
595 posix_spawn_file_actions_init
596 posix_spawnp
597
598 This option group also provides the ability for the iconv,
599 localedef, and locale programs to operate transparently on
600 compressed charset definitions. When this option group is
601 disabled, those programs will only operate on uncompressed
602 charmap files.
603
604
605 config EGLIBC_OPTION_EGLIBC_STREAMS
606 bool "Support for accessing STREAMS."
607 default y
608 help
609 This option group includes functions for reading and writing
610 messages to and from STREAMS. The STREAMS interface provides a
611 uniform mechanism for implementing networking services and other
612 character-based I/O. (STREAMS are not to be confused with
613 <stdio.h> FILE objects, also called 'streams'.)
614
615 This option group includes the following functions:
616
617 getmsg putpmsg
618 getpmsg fattach
619 isastream fdetach
620 putmsg
621
622
623 config EGLIBC_OPTION_EGLIBC_SUNRPC
624 bool "Support for the Sun 'RPC' protocol."
625 default y
626 select EGLIBC_OPTION_EGLIBC_INET
627 help
628 This option group includes support for the Sun RPC protocols,
629 including the 'rpcgen' and 'rpcinfo' programs.
630
631
632 config EGLIBC_OPTION_EGLIBC_UTMP
633 bool "Older access functions for 'utmp' login records"
634 default y
635 help
636 This option group includes the older 'utent' family of
637 functions for accessing user login records in the 'utmp' file.
638 POSIX omits these functions in favor of the 'utxent' family,
639 and they are obsolete on systems other than Linux.
640
641 This option group includes the following functions:
642
643 endutent
644 getutent
645 getutent_r
646 getutid
647 getutid_r
648 getutline
649 getutline_r
650 logwtmp
651 pututline
652 setutent
653 updwtmp
654 utmpname
655
656 This option group includes the following libraries:
657
658 libutil.so (and libutil.a)
659
660
661 config EGLIBC_OPTION_EGLIBC_UTMPX
662 bool "POSIX access functions for 'utmp' login records"
663 default y
664 select EGLIBC_OPTION_EGLIBC_UTMP
665 help
666 This option group includes the POSIX functions for reading and
667 writing user login records in the 'utmp' file (usually
668 '/var/run/utmp'). The POSIX functions operate on 'struct
669 utmpx' structures, as opposed to the family of older 'utent'
670 functions, which operate on 'struct utmp' structures.
671
672 This option group includes the following functions:
673
674 endutxent
675 getutmp
676 getutmpx
677 getutxent
678 getutxid
679 getutxline
680 pututxline
681 setutxent
682 updwtmpx
683 utmpxname
684
685
686 config EGLIBC_OPTION_EGLIBC_WORDEXP
687 bool "Shell-style word expansion"
688 default y
689 help
690 This option group includes the 'wordexp' function for
691 performing word expansion in the manner of the shell, and the
692 accompanying 'wordfree' function.
693
694
695 config EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
696 bool "ISO C library wide character functions, excluding I/O"
697 default y
698 depends EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
699 help
700 This option group includes the functions defined by the ISO C
701 standard for working with wide and multibyte characters in
702 memory. Functions for reading and writing wide and multibyte
703 characters from and to files call in the
704 EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO option group.
705
706 This option group includes the following functions:
707
708 btowc mbsinit wcscspn wcstoll
709 iswalnum mbsrtowcs wcsftime wcstombs
710 iswalpha mbstowcs wcslen wcstoul
711 iswblank mbtowc wcsncat wcstoull
712 iswcntrl swprintf wcsncmp wcstoumax
713 iswctype swscanf wcsncpy wcsxfrm
714 iswdigit towctrans wcspbrk wctob
715 iswgraph towlower wcsrchr wctomb
716 iswlower towupper wcsrtombs wctrans
717 iswprint vswprintf wcsspn wctype
718 iswpunct vswscanf wcsstr wmemchr
719 iswspace wcrtomb wcstod wmemcmp
720 iswupper wcscat wcstof wmemcpy
721 iswxdigit wcschr wcstoimax wmemmove
722 mblen wcscmp wcstok wmemset
723 mbrlen wcscoll wcstol
724 mbrtowc wcscpy wcstold
725
726
727 config EGLIBC_OPTION_POSIX_REGEXP
728 bool "Regular expressions"
729 default y
730 help
731 This option group includes the POSIX regular expression
732 functions, and the associated non-POSIX extensions and
733 compatibility functions.
734
735 With EGLIBC_OPTION_POSIX_REGEXP disabled, the following functions are
736 omitted from libc:
737
738 re_comp re_max_failures regcomp
739 re_compile_fastmap re_search regerror
740 re_compile_pattern re_search_2 regexec
741 re_exec re_set_registers regfree
742 re_match re_set_syntax rpmatch
743 re_match_2 re_syntax_options
744
745 Furthermore, the compatibility regexp interface defined in the
746 <regexp.h> header file, 'compile', 'step', and 'advance', is
747 omitted.
748
749
750 config EGLIBC_OPTION_POSIX_REGEXP_GLIBC
751 bool "Regular expressions from GLIBC"
752 default y
753 depends EGLIBC_VERSION_2_10
754 select EGLIBC_OPTION_POSIX_REGEXP
755 help
756 This option group specifies which regular expression
757 library to use. The choice is between regex
758 implementation from GLIBC and regex implementation from
759 libiberty. The GLIBC variant is fully POSIX conformant and
760 optimized for speed; regex from libiberty is more than twice
761 as small while still is enough for most practical purposes.
762
763
764 config EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
765 bool "Input and output functions for wide characters"
766 default y
767 select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
768 help
769 This option group includes functions for reading and writing
770 wide characters to and from <stdio.h> streams.
771
772 This option group includes the following functions:
773
774 fgetwc fwprintf putwchar vwscanf
775 fgetws fwscanf ungetwc wprintf
776 fputwc getwc vfwprintf wscanf
777 fputws getwchar vfwscanf
778 fwide putwc vwprintf
779
780 This option group further includes the following unlocked
781 variants of the above functions:
782
783 fgetwc_unlocked getwc_unlocked
784 fgetws_unlocked getwchar_unlocked
785 fputwc_unlocked putwc_unlocked
786 fputws_unlocked putwchar_unlocked
787
788 Note that the GNU standard C++ library, 'libstdc++.so', uses
789 some of these functions; you will not be able to link or run
790 C++ programs if you disable this option group.
791
792 This option group also affects the behavior of the following
793 functions:
794
795 fdopen
796 fopen
797 fopen64
798 freopen
799 freopen64
800
801 These functions all take an OPENTYPE parameter which may
802 contain a string of the form ",ccs=CHARSET", indicating that
803 the underlying file uses the character set named CHARSET.
804 This produces a wide-oriented stream, which is only useful
805 when the functions included in this option group are present.
806 If the user attempts to open a file specifying a character set
807 in the OPENTYPE parameter, and EGLIBC was built with this
808 option group disabled, the function returns NULL, and sets
809 errno to EINVAL.