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:
33 config EGLIBC_OPTION_EGLIBC_BACKTRACE
34 bool "Functions for producing backtraces"
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.
42 This option group includes the following functions:
49 config EGLIBC_OPTION_EGLIBC_BSD
50 bool "BSD-specific functions, and their compatibility stubs"
53 This option group includes functions specific to BSD kernels.
54 A number of these functions have stub versions that are also
55 included in libraries built for non-BSD systems for
58 This option group includes the following functions:
67 config EGLIBC_OPTION_EGLIBC_CXX_TESTS
68 bool "Tests that link against the standard C++ library."
70 select EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
71 select EGLIBC_OPTION_EGLIBC_LIBM
73 This option group does not include any C library functions;
74 instead, it controls which EGLIBC tests an ordinary 'make
75 tests' runs. With this group disabled, tests that would
76 normally link against the standard C++ library are not
79 The standard C++ library depends on the math library 'libm' and
80 the wide character I/O functions included in EGLIBC. If those
81 option groups are disabled, this test must also be disabled.
84 config EGLIBC_OPTION_EGLIBC_CATGETS
85 bool "Functions for accessing message catalogs"
87 select EGLIBC_OPTION_EGLIBC_LOCALE_CODE
89 This option group includes functions for accessing message
90 catalogs: catopen, catclose, and catgets.
92 This option group depends on the EGLIBC_OPTION_EGLIBC_LOCALE_CODE
93 option group; if you disable that, you must also disable this.
96 config EGLIBC_OPTION_EGLIBC_CHARSETS
97 bool "iconv/gconv character set conversion libraries"
101 This option group includes support for character sets other
102 than ASCII (ANSI_X3.4-1968) and Unicode and ISO-10646 in their
103 various encodings. This affects both the character sets
104 supported by the wide and multibyte character functions, and
105 those supported by the 'iconv' functions.
107 With this option group disabled, EGLIBC supports only the
108 following character sets:
124 10646-1:1993 - ISO 10646, in big-endian UCS4 form
136 UCS-4LE - ISO 10646, in little-endian UCS4 form
138 ISO-10646/UTF-8 - ISO 10646, in UTF-8 form
145 ISO-10646/UCS2 - ISO 10646, in target-endian UCS2 form
152 UCS-2BE - ISO 10646, in big-endian UCS2 form
155 UCS-2LE - ISO 10646, in little-endian UCS2 form
158 WCHAR_T - EGLIBC's internal form (target-endian,
162 config EGLIBC_OPTION_EGLIBC_DB_ALIASES
163 bool "Functions for accessing the mail aliases database"
166 This option group includes functions for looking up mail
167 aliases in '/etc/aliases' or using nsswitch. It includes the
177 When this option group is disabled, the NSS service libraries
178 also lack support for querying their mail alias tables.
181 config EGLIBC_OPTION_EGLIBC_ENVZ
182 bool "Functions for handling envz-style environment vectors."
185 This option group contains functions for creating and operating
186 on envz vectors. An "envz vector" is a vector of strings in a
187 contiguous block of memory, where each element is a name-value
188 pair, and elements are separated from their neighbors by null
191 This option group includes the following functions:
194 envz_entry envz_remove
198 config EGLIBC_OPTION_EGLIBC_FCVT
199 bool "Functions for converting floating-point numbers to strings"
201 depends EGLIBC_VERSION_2_10
203 This option group includes functions for converting
204 floating-point numbers to strings.
206 This option group includes the following functions:
215 config EGLIBC_OPTION_EGLIBC_FMTMSG
216 bool "Functions for formatting messages"
218 depends EGLIBC_VERSION_2_10
220 This option group includes the following functions:
225 config EGLIBC_OPTION_EGLIBC_FSTAB
226 bool "Access functions for 'fstab'"
229 This option group includes functions for reading the mount
230 point specification table, '/etc/fstab'. These functions are
231 not included in the POSIX standard, which provides the
232 'getmntent' family of functions instead.
234 This option group includes the following functions:
240 config EGLIBC_OPTION_EGLIBC_FTRAVERSE
241 bool "Functions for traversing file hierarchies"
243 depends EGLIBC_VERSION_2_10
245 This option group includes functions for traversing file
246 UNIX file hierachies.
248 This option group includes the following functions:
257 config EGLIBC_OPTION_EGLIBC_GETLOGIN
258 bool "The getlogin function"
260 select EGLIBC_OPTION_EGLIBC_UTMP
262 This function group includes the 'getlogin' and 'getlogin_r'
263 functions, which return the user name associated by the login
264 activity with the current process's controlling terminal.
266 With this option group disabled, the 'glob' function will not
267 fall back on 'getlogin' to find the user's login name for tilde
268 expansion when the 'HOME' environment variable is not set.
271 config EGLIBC_OPTION_EGLIBC_INET
272 bool "Networking support"
275 This option group includes networking-specific functions and
276 data. With EGLIBC_OPTION_EGLIBC_INET disabled, the EGLIBC
277 installation and API changes as follows:
279 - The following libraries are not installed:
290 - The following functions and variables are omitted from libc:
292 authdes_create hstrerror svc_fdset
293 authdes_getucred htonl svc_getreq
294 authdes_pk_create htons svc_getreq_common
295 authnone_create if_freenameindex svc_getreq_poll
296 authunix_create if_indextoname svc_getreqset
297 authunix_create_default if_nameindex svc_max_pollfd
298 bindresvport if_nametoindex svc_pollfd
299 callrpc in6addr_any svcraw_create
300 cbc_crypt in6addr_loopback svc_register
301 clnt_broadcast inet6_opt_append svc_run
302 clnt_create inet6_opt_find svc_sendreply
303 clnt_pcreateerror inet6_opt_finish svctcp_create
304 clnt_perrno inet6_opt_get_val svcudp_bufcreate
305 clnt_perror inet6_opt_init svcudp_create
306 clntraw_create inet6_option_alloc svcudp_enablecache
307 clnt_spcreateerror inet6_option_append svcunix_create
308 clnt_sperrno inet6_option_find svcunixfd_create
309 clnt_sperror inet6_option_init svc_unregister
310 clnttcp_create inet6_option_next user2netname
311 clntudp_bufcreate inet6_option_space xdecrypt
312 clntudp_create inet6_opt_next xdr_accepted_reply
313 clntunix_create inet6_opt_set_val xdr_array
314 des_setparity inet6_rth_add xdr_authdes_cred
315 ecb_crypt inet6_rth_getaddr xdr_authdes_verf
316 endaliasent inet6_rth_init xdr_authunix_parms
317 endhostent inet6_rth_reverse xdr_bool
318 endnetent inet6_rth_segments xdr_bytes
319 endnetgrent inet6_rth_space xdr_callhdr
320 endprotoent inet_addr xdr_callmsg
321 endrpcent inet_aton xdr_char
322 endservent inet_lnaof xdr_cryptkeyarg
323 ether_aton inet_makeaddr xdr_cryptkeyarg2
324 ether_aton_r inet_netof xdr_cryptkeyres
325 ether_hostton inet_network xdr_des_block
326 ether_line inet_nsap_addr xdr_double
327 ether_ntoa inet_nsap_ntoa xdr_enum
328 ether_ntoa_r inet_ntoa xdr_float
329 ether_ntohost inet_ntop xdr_free
330 freeaddrinfo inet_pton xdr_getcredres
331 freeifaddrs innetgr xdr_hyper
332 gai_strerror iruserok xdr_int
333 getaddrinfo iruserok_af xdr_int16_t
334 getaliasbyname key_decryptsession xdr_int32_t
335 getaliasbyname_r key_decryptsession_pk xdr_int64_t
336 getaliasent key_encryptsession xdr_int8_t
337 getaliasent_r key_encryptsession_pk xdr_keybuf
338 gethostbyaddr key_gendes xdr_key_netstarg
339 gethostbyaddr_r key_get_conv xdr_key_netstres
340 gethostbyname key_secretkey_is_set xdr_keystatus
341 gethostbyname2 key_setnet xdr_long
342 gethostbyname2_r key_setsecret xdr_longlong_t
343 gethostbyname_r netname2host xdrmem_create
344 gethostent netname2user xdr_netnamestr
345 gethostent_r ntohl xdr_netobj
346 getifaddrs ntohs xdr_opaque
347 getipv4sourcefilter passwd2des xdr_opaque_auth
348 get_myaddress pmap_getmaps xdr_pmap
349 getnameinfo pmap_getport xdr_pmaplist
350 getnetbyaddr pmap_rmtcall xdr_pointer
351 getnetbyaddr_r pmap_set xdr_quad_t
352 getnetbyname pmap_unset xdrrec_create
353 getnetbyname_r rcmd xdrrec_endofrecord
354 getnetent rcmd_af xdrrec_eof
355 getnetent_r registerrpc xdrrec_skiprecord
356 getnetgrent res_init xdr_reference
357 getnetgrent_r rexec xdr_rejected_reply
358 getnetname rexec_af xdr_replymsg
359 getprotobyname rexecoptions xdr_rmtcall_args
360 getprotobyname_r rpc_createerr xdr_rmtcallres
361 getprotobynumber rresvport xdr_short
362 getprotobynumber_r rresvport_af xdr_sizeof
363 getprotoent rtime xdrstdio_create
364 getprotoent_r ruserok xdr_string
365 getpublickey ruserok_af xdr_u_char
366 getrpcbyname ruserpass xdr_u_hyper
367 getrpcbyname_r setaliasent xdr_u_int
368 getrpcbynumber sethostent xdr_uint16_t
369 getrpcbynumber_r setipv4sourcefilter xdr_uint32_t
370 getrpcent setnetent xdr_uint64_t
371 getrpcent_r setnetgrent xdr_uint8_t
372 getrpcport setprotoent xdr_u_long
373 getsecretkey setrpcent xdr_u_longlong_t
374 getservbyname setservent xdr_union
375 getservbyname_r setsourcefilter xdr_unixcred
376 getservbyport svcauthdes_stats xdr_u_quad_t
377 getservbyport_r svcerr_auth xdr_u_short
378 getservent svcerr_decode xdr_vector
379 getservent_r svcerr_noproc xdr_void
380 getsourcefilter svcerr_noprog xdr_wrapstring
381 h_errlist svcerr_progvers xencrypt
382 h_errno svcerr_systemerr xprt_register
383 herror svcerr_weakauth xprt_unregister
385 host2netname svcfd_create
387 - The rpcgen, nscd, and rpcinfo commands are not installed.
389 - The 'rpc' file (a text file listing RPC services) is not installed.
391 Socket-related system calls do not fall in this option group,
392 because many are also used for other inter-process
393 communication mechanisms. For example, the 'syslog' routines
394 use Unix-domain sockets to communicate with the syslog daemon;
395 syslog is valuable in non-networked contexts.
398 config EGLIBC_OPTION_EGLIBC_LIBM
399 bool "libm (math library)"
402 This option group includes the 'libm' library, containing
403 mathematical functions. If this option group is omitted, then
404 an EGLIBC installation does not include shared or unshared versions
407 Note that this does not remove all floating-point related
408 functionality from EGLIBC; for example, 'printf' and 'scanf'
409 can still print and read floating-point values with this option
412 Note that the ISO Standard C++ library 'libstdc++' depends on
413 EGLIBC's math library 'libm'. If you disable this option
414 group, you will not be able to build 'libstdc++' against the
415 resulting EGLIBC installation.
418 config EGLIBC_OPTION_EGLIBC_LOCALES
419 bool "Locale definitions"
422 This option group includes all locale definitions other than
423 that for the "C" locale. If this option group is omitted, then
424 only the "C" locale is supported.
427 config EGLIBC_OPTION_EGLIBC_LOCALE_CODE
428 bool "Locale functions"
430 select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
432 This option group includes locale support functions, programs,
433 and libraries. With EGLIBC_LOCALE_FUNCTIONS disabled,
434 EGLIBC supports only the 'C' locale (also known as 'POSIX'),
435 and ignores the settings of the 'LANG' and 'LC_*' environment
438 With EGLIBC_OPTION_LOCALE_CODE disabled, the following
439 functions are omitted from libc:
441 duplocale localeconv nl_langinfo rpmatch strfmon_l
442 freelocale newlocale nl_langinfo_l strfmon uselocale
444 Furthermore, only the LC_CTYPE and LC_TIME categories of the
445 standard "C" locale are available.
447 The EGLIBC_OPTION_EGLIBC_CATGETS option group depends on this option
448 group; if you disable EGLIBC_OPTION_EGLIBC_LOCALE_CODE, you must also
449 disable EGLIBC_OPTION_EGLIBC_CATGETS.
452 config EGLIBC_OPTION_EGLIBC_NIS
453 bool "Support for NIS, NIS+, and the special 'compat' services."
455 select EGLIBC_OPTION_EGLIBC_INET
456 select EGLIBC_OPTION_EGLIBC_SUNRPC
458 This option group includes the NIS, NIS+, and 'compat' Name
459 Service Switch service libraries. When it is disabled, those
460 services libraries are not installed; you should remove any
461 references to them from your 'nsswitch.conf' file.
463 This option group depends on the EGLIBC_OPTION_EGLIBC_INET option
464 group; you must enable that to enable this option group.
467 config EGLIBC_OPTION_EGLIBC_NSSWITCH
468 bool "Name service switch (nsswitch) support"
472 This option group includes support for the 'nsswitch' facility.
473 With this option group enabled, all EGLIBC functions for
474 accessing various system databases (passwords and groups;
475 networking; aliases; public keys; and so on) consult the
476 '/etc/nsswitch.conf' configuration file to decide how to handle
479 With this option group disabled, EGLIBC uses a fixed list of
480 services to satisfy queries on each database, as requested by
481 configuration files specified when EGLIBC is built. Your
482 'option-groups.config' file must set the following two
485 EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
487 Set this to the name of a file whose contents observe the
488 same syntax as an ordinary '/etc/nsswitch.conf' file. The
489 EGLIBC build process parses this file just as EGLIBC would
490 at run time if EGLIBC_NSSWITCH were enabled, and
491 produces a C library that uses the nsswitch service
492 libraries to search for database entries as this file
493 specifies, instead of consulting '/etc/nsswitch.conf' at run
496 This should be an absolute filename. The EGLIBC build
497 process may use it from several different working
498 directories. It may include references to Makefile
499 variables like 'common-objpfx' (the top of the build tree,
500 with a trailing slash), or '..' (the top of the source tree,
501 with a trailing slash).
503 The EGLIBC source tree includes a sample configuration file
504 named 'nss/fixed-nsswitch.conf'; for simple configurations,
505 you will probably want to delete references to databases not
506 needed on your system.
508 EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS
510 The EGLIBC build process uses this file to decide which
511 functions to make available from which service libraries.
512 The file 'nss/fixed-nsswitch.functions' serves as a sample
513 configuration file for this setting, and explains its syntax
514 and meaning in more detail.
516 This should be an absolute file name. The EGLIBC build
517 process may use it from several different working
518 directories. It may include references to Makefile
519 variables like 'common-objpfx' (the top of the build tree,
520 with a trailing slash), or '..' (the top of the source tree,
521 with a trailing slash).
523 Be sure to mention each function in each service you wish to
524 use. If you do not mention a service's function here, the
525 EGLIBC database access functions will not find it, even if
526 it is listed in the EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
529 In this arrangement, EGLIBC will not use the 'dlopen' and
530 'dlsym' functions to find database access functions. Instead,
531 libc hard-codes references to the service libraries' database
532 access functions. You must explicitly link your program
533 against the name service libraries (those whose names start
534 with 'libnss_', in the sysroot's '/lib' directory) whose
535 functions you intend to use. This arrangement helps
536 system-wide static analysis tools decide which functions a
537 system actually uses.
539 Note that some nsswitch service libraries require other option
540 groups to be enabled; for example, the EGLIBC_INET
541 option group must be enabled to use the 'libnss_dns.so.2'
542 service library, which uses the Domain Name System network
543 protocol to answer queries.
546 config EGLIBC_OPTION_EGLIBC_RCMD
547 bool "Support for 'rcmd' and related library functions"
549 select EGLIBC_OPTION_EGLIBC_INET
551 This option group includes functions for running commands on
552 remote machines via the 'rsh' protocol, and doing authentication
553 related to those functions. This also includes functions that
554 use the 'rexec' protocol.
556 This option group includes the following functions:
566 config EGLIBC_OPTION_EGLIBC_SPAWN
567 bool "Support for POSIX posix_spawn functions"
570 This option group includes the POSIX functions for executing
571 programs in child processes without using 'fork' or 'vfork'.
573 This option group includes the following functions:
576 posix_spawnattr_destroy
577 posix_spawnattr_getflags
578 posix_spawnattr_getpgroup
579 posix_spawnattr_getschedparam
580 posix_spawnattr_getschedpolicy
581 posix_spawnattr_getsigdefault
582 posix_spawnattr_getsigmask
584 posix_spawnattr_setflags
585 posix_spawnattr_setpgroup
586 posix_spawnattr_setschedparam
587 posix_spawnattr_setschedpolicy
588 posix_spawnattr_setsigdefault
589 posix_spawnattr_setsigmask
590 posix_spawn_file_actions_addclose
591 posix_spawn_file_actions_adddup2
592 posix_spawn_file_actions_addopen
593 posix_spawn_file_actions_destroy
594 posix_spawn_file_actions_init
597 This option group also provides the ability for the iconv,
598 localedef, and locale programs to operate transparently on
599 compressed charset definitions. When this option group is
600 disabled, those programs will only operate on uncompressed
604 config EGLIBC_OPTION_EGLIBC_STREAMS
605 bool "Support for accessing STREAMS."
608 This option group includes functions for reading and writing
609 messages to and from STREAMS. The STREAMS interface provides a
610 uniform mechanism for implementing networking services and other
611 character-based I/O. (STREAMS are not to be confused with
612 <stdio.h> FILE objects, also called 'streams'.)
614 This option group includes the following functions:
622 config EGLIBC_OPTION_EGLIBC_SUNRPC
623 bool "Support for the Sun 'RPC' protocol."
625 select EGLIBC_OPTION_EGLIBC_INET
627 This option group includes support for the Sun RPC protocols,
628 including the 'rpcgen' and 'rpcinfo' programs.
631 config EGLIBC_OPTION_EGLIBC_UTMP
632 bool "Older access functions for 'utmp' login records"
635 This option group includes the older 'utent' family of
636 functions for accessing user login records in the 'utmp' file.
637 POSIX omits these functions in favor of the 'utxent' family,
638 and they are obsolete on systems other than Linux.
640 This option group includes the following functions:
655 This option group includes the following libraries:
657 libutil.so (and libutil.a)
660 config EGLIBC_OPTION_EGLIBC_UTMPX
661 bool "POSIX access functions for 'utmp' login records"
663 select EGLIBC_OPTION_EGLIBC_UTMP
665 This option group includes the POSIX functions for reading and
666 writing user login records in the 'utmp' file (usually
667 '/var/run/utmp'). The POSIX functions operate on 'struct
668 utmpx' structures, as opposed to the family of older 'utent'
669 functions, which operate on 'struct utmp' structures.
671 This option group includes the following functions:
685 config EGLIBC_OPTION_EGLIBC_WORDEXP
686 bool "Shell-style word expansion"
689 This option group includes the 'wordexp' function for
690 performing word expansion in the manner of the shell, and the
691 accompanying 'wordfree' function.
694 config EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
695 bool "ISO C library wide character functions, excluding I/O"
697 depends EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
699 This option group includes the functions defined by the ISO C
700 standard for working with wide and multibyte characters in
701 memory. Functions for reading and writing wide and multibyte
702 characters from and to files call in the
703 EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO option group.
705 This option group includes the following functions:
707 btowc mbsinit wcscspn wcstoll
708 iswalnum mbsrtowcs wcsftime wcstombs
709 iswalpha mbstowcs wcslen wcstoul
710 iswblank mbtowc wcsncat wcstoull
711 iswcntrl swprintf wcsncmp wcstoumax
712 iswctype swscanf wcsncpy wcsxfrm
713 iswdigit towctrans wcspbrk wctob
714 iswgraph towlower wcsrchr wctomb
715 iswlower towupper wcsrtombs wctrans
716 iswprint vswprintf wcsspn wctype
717 iswpunct vswscanf wcsstr wmemchr
718 iswspace wcrtomb wcstod wmemcmp
719 iswupper wcscat wcstof wmemcpy
720 iswxdigit wcschr wcstoimax wmemmove
721 mblen wcscmp wcstok wmemset
722 mbrlen wcscoll wcstol
723 mbrtowc wcscpy wcstold
726 config EGLIBC_OPTION_POSIX_REGEXP
727 bool "Regular expressions"
730 This option group includes the POSIX regular expression
731 functions, and the associated non-POSIX extensions and
732 compatibility functions.
734 With EGLIBC_OPTION_POSIX_REGEXP disabled, the following functions are
737 re_comp re_max_failures regcomp
738 re_compile_fastmap re_search regerror
739 re_compile_pattern re_search_2 regexec
740 re_exec re_set_registers regfree
741 re_match re_set_syntax rpmatch
742 re_match_2 re_syntax_options
744 Furthermore, the compatibility regexp interface defined in the
745 <regexp.h> header file, 'compile', 'step', and 'advance', is
749 config EGLIBC_OPTION_POSIX_REGEXP_GLIBC
750 bool "Regular expressions from GLIBC"
752 depends EGLIBC_VERSION_2_10
753 select EGLIBC_OPTION_POSIX_REGEXP
755 This option group specifies which regular expression
756 library to use. The choice is between regex
757 implementation from GLIBC and regex implementation from
758 libiberty. The GLIBC variant is fully POSIX conformant and
759 optimized for speed; regex from libiberty is more than twice
760 as small while still is enough for most practical purposes.
763 config EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
764 bool "Input and output functions for wide characters"
766 select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10
768 This option group includes functions for reading and writing
769 wide characters to and from <stdio.h> streams.
771 This option group includes the following functions:
773 fgetwc fwprintf putwchar vwscanf
774 fgetws fwscanf ungetwc wprintf
775 fputwc getwc vfwprintf wscanf
776 fputws getwchar vfwscanf
779 This option group further includes the following unlocked
780 variants of the above functions:
782 fgetwc_unlocked getwc_unlocked
783 fgetws_unlocked getwchar_unlocked
784 fputwc_unlocked putwc_unlocked
785 fputws_unlocked putwchar_unlocked
787 Note that the GNU standard C++ library, 'libstdc++.so', uses
788 some of these functions; you will not be able to link or run
789 C++ programs if you disable this option group.
791 This option group also affects the behavior of the following
800 These functions all take an OPENTYPE parameter which may
801 contain a string of the form ",ccs=CHARSET", indicating that
802 the underlying file uses the character set named CHARSET.
803 This produces a wide-oriented stream, which is only useful
804 when the functions included in this option group are present.
805 If the user attempts to open a file specifying a character set
806 in the OPENTYPE parameter, and EGLIBC was built with this
807 option group disabled, the function returns NULL, and sets