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