1 config EGLIBC_OPTION_EGLIBC_ADVANCED_INET6
2 bool "IPv6 Advanced Sockets API support (RFC3542)"
4 select EGLIBC_OPTION_EGLIBC_INET
6 This option group includes the functions specified by RFC 3542,
7 "Advanced Sockets Application Program Interface (API) for
10 This option group includes the following functions:
32 config EGLIBC_OPTION_EGLIBC_BACKTRACE
33 bool "Functions for producing backtraces"
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.
41 This option group includes the following functions:
47 config EGLIBC_OPTION_EGLIBC_BSD
48 bool "BSD-specific functions, and their compatibility stubs"
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
56 This option group includes the following functions:
64 config EGLIBC_OPTION_EGLIBC_CXX_TESTS
65 bool "Tests that link against the standard C++ library."
67 select EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
68 select EGLIBC_OPTION_EGLIBC_LIBM
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
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.
80 config EGLIBC_OPTION_EGLIBC_CATGETS
81 bool "Functions for accessing message catalogs"
83 select EGLIBC_OPTION_EGLIBC_LOCALE_CODE
85 This option group includes functions for accessing message
86 catalogs: catopen, catclose, and catgets.
88 This option group depends on the EGLIBC_LOCALE_CODE
89 option group; if you disable that, you must also disable this.
91 config EGLIBC_OPTION_EGLIBC_CHARSETS
92 bool "iconv/gconv character set conversion libraries"
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.
102 With this option group disabled, EGLIBC supports only the
103 following character sets:
119 10646-1:1993 - ISO 10646, in big-endian UCS4 form
131 UCS-4LE - ISO 10646, in little-endian UCS4 form
133 ISO-10646/UTF-8 - ISO 10646, in UTF-8 form
140 ISO-10646/UCS2 - ISO 10646, in target-endian UCS2 form
147 UCS-2BE - ISO 10646, in big-endian UCS2 form
150 UCS-2LE - ISO 10646, in little-endian UCS2 form
153 WCHAR_T - EGLIBC's internal form (target-endian,
156 config EGLIBC_OPTION_EGLIBC_DB_ALIASES
157 bool "Functions for accessing the mail aliases database"
160 This option group includes functions for looking up mail
161 aliases in '/etc/aliases' or using nsswitch. It includes the
171 When this option group is disabled, the NSS service libraries
172 also lack support for querying their mail alias tables.
174 config EGLIBC_OPTION_EGLIBC_ENVZ
175 bool "Functions for handling envz-style environment vectors."
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
184 This option group includes the following functions:
187 envz_entry envz_remove
190 config EGLIBC_OPTION_EGLIBC_FCVT
191 bool "Functions for converting floating-point numbers to strings"
193 depends EGLIBC_VERSION_2_10
195 This option group includes functions for converting
196 floating-point numbers to strings.
198 This option group includes the following functions:
206 config EGLIBC_OPTION_EGLIBC_FMTMSG
207 bool "Functions for formatting messages"
209 depends EGLIBC_VERSION_2_10
211 This option group includes the following functions:
215 config EGLIBC_OPTION_EGLIBC_FSTAB
216 bool "Access functions for 'fstab'"
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.
224 This option group includes the following functions:
230 config OPTION_EGLIBC_FTRAVERSE
231 bool "Functions for traversing file hierarchies"
233 depends EGLIBC_VERSION_2_10
235 This option group includes functions for traversing file
236 UNIX file hierachies.
238 This option group includes the following functions:
246 config EGLIBC_OPTION_EGLIBC_GETLOGIN
247 bool "The getlogin function"
249 select EGLIBC_OPTION_EGLIBC_UTMP
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.
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.
259 config EGLIBC_OPTION_EGLIBC_INET
260 bool "Networking support"
263 This option group includes networking-specific functions and
264 data. With EGLIBC_INET disabled, the EGLIBC
265 installation and API changes as follows:
267 - The following libraries are not installed:
278 - The following functions and variables are omitted from libc:
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
373 host2netname svcfd_create
375 - The rpcgen, nscd, and rpcinfo commands are not installed.
377 - The 'rpc' file (a text file listing RPC services) is not installed.
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.
385 config EGLIBC_OPTION_EGLIBC_LIBM
386 bool "libm (math library)"
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
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
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.
404 config EGLIBC_OPTION_EGLIBC_LOCALES
405 bool "Locale definitions"
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.
413 config EGLIBC_OPTION_EGLIBC_LOCALE_CODE
414 bool "Locale functions"
416 select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
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
424 With EGLIBC_LOCALE_CODE disabled, the following
425 functions are omitted from libc:
427 duplocale localeconv nl_langinfo rpmatch strfmon_l
428 freelocale newlocale nl_langinfo_l strfmon uselocale
430 Furthermore, only the LC_CTYPE and LC_TIME categories of the
431 standard "C" locale are available.
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.
437 config EGLIBC_OPTION_EGLIBC_NIS
438 bool "Support for NIS, NIS+, and the special 'compat' services."
440 select EGLIBC_OPTION_EGLIBC_INET
441 select EGLIBC_OPTION_EGLIBC_SUNRPC
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.
448 This option group depends on the EGLIBC_INET option
449 group; you must enable that to enable this option group.
451 config EGLIBC_OPTION_EGLIBC_NSSWITCH
452 bool "Name service switch (nsswitch) support"
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
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
469 EGLIBC_NSSWITCH_FIXED_CONFIG
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
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).
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.
492 EGLIBC_NSSWITCH_FIXED_FUNCTIONS
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.
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).
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
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.
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.
529 config EGLIBC_OPTION_EGLIBC_RCMD
530 bool "Support for 'rcmd' and related library functions"
532 select EGLIBC_OPTION_EGLIBC_INET
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.
539 This option group includes the following functions:
548 config EGLIBC_OPTION_EGLIBC_SPAWN
549 bool "Support for POSIX posix_spawn functions"
552 This option group includes the POSIX functions for executing
553 programs in child processes without using 'fork' or 'vfork'.
555 This option group includes the following functions:
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
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
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
585 config EGLIBC_OPTION_EGLIBC_STREAMS
586 bool "Support for accessing STREAMS."
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'.)
595 This option group includes the following functions:
602 config EGLIBC_OPTION_EGLIBC_SUNRPC
603 bool "Support for the Sun 'RPC' protocol."
605 select EGLIBC_OPTION_EGLIBC_INET
607 This option group includes support for the Sun RPC protocols,
608 including the 'rpcgen' and 'rpcinfo' programs.
610 config EGLIBC_OPTION_EGLIBC_UTMP
611 bool "Older access functions for 'utmp' login records"
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.
619 This option group includes the following functions:
634 This option group includes the following libraries:
636 libutil.so (and libutil.a)
638 config EGLIBC_OPTION_EGLIBC_UTMPX
639 bool "POSIX access functions for 'utmp' login records"
641 select EGLIBC_OPTION_EGLIBC_UTMP
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.
649 This option group includes the following functions:
662 config EGLIBC_OPTION_EGLIBC_WORDEXP
663 bool "Shell-style word expansion"
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.
670 config EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
671 bool "ISO C library wide character functions, excluding I/O"
673 depends EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
675 This option group includes the functions defined by the ISO C
676 standard for working with wide and multibyte characters in
677 memory. Functions for reading and writing wide and multibyte
678 characters from and to files call in the
679 POSIX_WIDE_CHAR_DEVICE_IO option group.
681 This option group includes the following functions:
683 btowc mbsinit wcscspn wcstoll
684 iswalnum mbsrtowcs wcsftime wcstombs
685 iswalpha mbstowcs wcslen wcstoul
686 iswblank mbtowc wcsncat wcstoull
687 iswcntrl swprintf wcsncmp wcstoumax
688 iswctype swscanf wcsncpy wcsxfrm
689 iswdigit towctrans wcspbrk wctob
690 iswgraph towlower wcsrchr wctomb
691 iswlower towupper wcsrtombs wctrans
692 iswprint vswprintf wcsspn wctype
693 iswpunct vswscanf wcsstr wmemchr
694 iswspace wcrtomb wcstod wmemcmp
695 iswupper wcscat wcstof wmemcpy
696 iswxdigit wcschr wcstoimax wmemmove
697 mblen wcscmp wcstok wmemset
698 mbrlen wcscoll wcstol
699 mbrtowc wcscpy wcstold
701 config EGLIBC_OPTION_POSIX_REGEXP
702 bool "Regular expressions"
705 This option group includes the POSIX regular expression
706 functions, and the associated non-POSIX extensions and
707 compatibility functions.
709 With POSIX_REGEXP disabled, the following functions are
712 re_comp re_max_failures regcomp
713 re_compile_fastmap re_search regerror
714 re_compile_pattern re_search_2 regexec
715 re_exec re_set_registers regfree
716 re_match re_set_syntax rpmatch
717 re_match_2 re_syntax_options
719 Furthermore, the compatibility regexp interface defined in the
720 <regexp.h> header file, 'compile', 'step', and 'advance', is
723 config EGLIBC_OPTION_POSIX_REGEXP_GLIBC
724 bool "Regular expressions from GLIBC"
726 select EGLIBC_OPTION_POSIX_REGEXP
727 depends EGLIBC_VERSION_2_10
729 This option group specifies which regular expression
730 library to use. The choice is between regex
731 implementation from GLIBC and regex implementation from
732 libiberty. The GLIBC variant is fully POSIX conformant and
733 optimized for speed; regex from libiberty is more than twice
734 as small while still is enough for most practical purposes.
736 config EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
737 bool "Input and output functions for wide characters"
739 select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
741 This option group includes functions for reading and writing
742 wide characters to and from <stdio.h> streams.
744 This option group includes the following functions:
746 fgetwc fwprintf putwchar vwscanf
747 fgetws fwscanf ungetwc wprintf
748 fputwc getwc vfwprintf wscanf
749 fputws getwchar vfwscanf
752 This option group further includes the following unlocked
753 variants of the above functions:
755 fgetwc_unlocked getwc_unlocked
756 fgetws_unlocked getwchar_unlocked
757 fputwc_unlocked putwc_unlocked
758 fputws_unlocked putwchar_unlocked
760 Note that the GNU standard C++ library, 'libstdc++.so', uses
761 some of these functions; you will not be able to link or run
762 C++ programs if you disable this option group.
764 This option group also affects the behavior of the following
773 These functions all take an OPENTYPE parameter which may
774 contain a string of the form ",ccs=CHARSET", indicating that
775 the underlying file uses the character set named CHARSET.
776 This produces a wide-oriented stream, which is only useful
777 when the functions included in this option group are present.
778 If the user attempts to open a file specifying a character set
779 in the OPENTYPE parameter, and EGLIBC was built with this
780 option group disabled, the function returns NULL, and sets