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