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