1 config EGLIBC_OPTION_EGLIBC_ADVANCED_INET6
2 bool "IPv6 Advanced Sockets API support (RFC3542)"
4 depends 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 depends EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
68 depends 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 depends 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 includues 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_FSTAB
191 bool "Access functions for 'fstab'"
194 This option group includes functions for reading the mount
195 point specification table, '/etc/fstab'. These functions are
196 not included in the POSIX standard, which provides the
197 'getmntent' family of functions instead.
199 This option group includues the following functions:
205 config EGLIBC_OPTION_EGLIBC_GETLOGIN
206 bool "The getlogin function"
208 depends EGLIBC_OPTION_EGLIBC_UTMP
210 This function group includes the 'getlogin' and 'getlogin_r'
211 functions, which return the user name associated by the login
212 activity with the current process's controlling terminal.
214 With this option group disabled, the 'glob' function will not
215 fall back on 'getlogin' to find the user's login name for tilde
216 expansion when the 'HOME' environment variable is not set.
218 config EGLIBC_OPTION_EGLIBC_INET
219 bool "Networking support"
222 This option group includes networking-specific functions and
223 data. With EGLIBC_INET disabled, the EGLIBC
224 installation and API changes as follows:
226 - The following libraries are not installed:
237 - The following functions and variables are omitted from libc:
239 authdes_create hstrerror svc_fdset
240 authdes_getucred htonl svc_getreq
241 authdes_pk_create htons svc_getreq_common
242 authnone_create if_freenameindex svc_getreq_poll
243 authunix_create if_indextoname svc_getreqset
244 authunix_create_default if_nameindex svc_max_pollfd
245 bindresvport if_nametoindex svc_pollfd
246 callrpc in6addr_any svcraw_create
247 cbc_crypt in6addr_loopback svc_register
248 clnt_broadcast inet6_opt_append svc_run
249 clnt_create inet6_opt_find svc_sendreply
250 clnt_pcreateerror inet6_opt_finish svctcp_create
251 clnt_perrno inet6_opt_get_val svcudp_bufcreate
252 clnt_perror inet6_opt_init svcudp_create
253 clntraw_create inet6_alloc svcudp_enablecache
254 clnt_spcreateerror inet6_append svcunix_create
255 clnt_sperrno inet6_find svcunixfd_create
256 clnt_sperror inet6_init svc_unregister
257 clnttcp_create inet6_next user2netname
258 clntudp_bufcreate inet6_space xdecrypt
259 clntudp_create inet6_opt_next xdr_accepted_reply
260 clntunix_create inet6_opt_set_val xdr_array
261 des_setparity inet6_rth_add xdr_authdes_cred
262 ecb_crypt inet6_rth_getaddr xdr_authdes_verf
263 endaliasent inet6_rth_init xdr_authunix_parms
264 endhostent inet6_rth_reverse xdr_bool
265 endnetent inet6_rth_segments xdr_bytes
266 endnetgrent inet6_rth_space xdr_callhdr
267 endprotoent inet_addr xdr_callmsg
268 endrpcent inet_aton xdr_char
269 endservent inet_lnaof xdr_cryptkeyarg
270 ether_aton inet_makeaddr xdr_cryptkeyarg2
271 ether_aton_r inet_netof xdr_cryptkeyres
272 ether_hostton inet_network xdr_des_block
273 ether_line inet_nsap_addr xdr_double
274 ether_ntoa inet_nsap_ntoa xdr_enum
275 ether_ntoa_r inet_ntoa xdr_float
276 ether_ntohost inet_ntop xdr_free
277 freeaddrinfo inet_pton xdr_getcredres
278 freeifaddrs innetgr xdr_hyper
279 gai_strerror iruserok xdr_int
280 getaddrinfo iruserok_af xdr_int16_t
281 getaliasbyname key_decryptsession xdr_int32_t
282 getaliasbyname_r key_decryptsession_pk xdr_int64_t
283 getaliasent key_encryptsession xdr_int8_t
284 getaliasent_r key_encryptsession_pk xdr_keybuf
285 gethostbyaddr key_gendes xdr_key_netstarg
286 gethostbyaddr_r key_get_conv xdr_key_netstres
287 gethostbyname key_secretkey_is_set xdr_keystatus
288 gethostbyname2 key_setnet xdr_long
289 gethostbyname2_r key_setsecret xdr_longlong_t
290 gethostbyname_r netname2host xdrmem_create
291 gethostent netname2user xdr_netnamestr
292 gethostent_r ntohl xdr_netobj
293 getifaddrs ntohs xdr_opaque
294 getipv4sourcefilter passwd2des xdr_opaque_auth
295 get_myaddress pmap_getmaps xdr_pmap
296 getnameinfo pmap_getport xdr_pmaplist
297 getnetbyaddr pmap_rmtcall xdr_pointer
298 getnetbyaddr_r pmap_set xdr_quad_t
299 getnetbyname pmap_unset xdrrec_create
300 getnetbyname_r rcmd xdrrec_endofrecord
301 getnetent rcmd_af xdrrec_eof
302 getnetent_r registerrpc xdrrec_skiprecord
303 getnetgrent res_init xdr_reference
304 getnetgrent_r rexec xdr_rejected_reply
305 getnetname rexec_af xdr_replymsg
306 getprotobyname rexecoptions xdr_rmtcall_args
307 getprotobyname_r rpc_createerr xdr_rmtcallres
308 getprotobynumber rresvport xdr_short
309 getprotobynumber_r rresvport_af xdr_sizeof
310 getprotoent rtime xdrstdio_create
311 getprotoent_r ruserok xdr_string
312 getpublickey ruserok_af xdr_u_char
313 getrpcbyname ruserpass xdr_u_hyper
314 getrpcbyname_r setaliasent xdr_u_int
315 getrpcbynumber sethostent xdr_uint16_t
316 getrpcbynumber_r setipv4sourcefilter xdr_uint32_t
317 getrpcent setnetent xdr_uint64_t
318 getrpcent_r setnetgrent xdr_uint8_t
319 getrpcport setprotoent xdr_u_long
320 getsecretkey setrpcent xdr_u_longlong_t
321 getservbyname setservent xdr_union
322 getservbyname_r setsourcefilter xdr_unixcred
323 getservbyport svcauthdes_stats xdr_u_quad_t
324 getservbyport_r svcerr_auth xdr_u_short
325 getservent svcerr_decode xdr_vector
326 getservent_r svcerr_noproc xdr_void
327 getsourcefilter svcerr_noprog xdr_wrapstring
328 h_errlist svcerr_progvers xencrypt
329 h_errno svcerr_systemerr xprt_register
330 herror svcerr_weakauth xprt_unregister
332 host2netname svcfd_create
334 - The rpcgen, nscd, and rpcinfo commands are not installed.
336 - The 'rpc' file (a text file listing RPC services) is not installed.
338 Socket-related system calls do not fall in this option group,
339 because many are also used for other inter-process
340 communication mechanisms. For example, the 'syslog' routines
341 use Unix-domain sockets to communicate with the syslog daemon;
342 syslog is valuable in non-networked contexts.
344 config EGLIBC_OPTION_EGLIBC_LIBM
345 bool "libm (math library)"
348 This option group includes the 'libm' library, containing
349 mathematical functions. If this option group is omitted, then
350 an EGLIBC installation does not include shared or unshared versions
353 Note that this does not remove all floating-point related
354 functionality from EGLIBC; for example, 'printf' and 'scanf'
355 can still print and read floating-point values with this option
358 Note that the ISO Standard C++ library 'libstdc++' depends on
359 EGLIBC's math library 'libm'. If you disable this option
360 group, you will not be able to build 'libstdc++' against the
361 resulting EGLIBC installation.
363 config EGLIBC_OPTION_EGLIBC_LOCALES
364 bool "Locale definitions"
367 This option group includes all locale definitions other than
368 that for the "C" locale. If this option group is omitted, then
369 only the "C" locale is supported.
372 config EGLIBC_OPTION_EGLIBC_LOCALE_CODE
373 bool "Locale functions"
375 depends EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
377 This option group includes locale support functions, programs,
378 and libraries. With EGLIBC_LOCALE_FUNCTIONS disabled,
379 EGLIBC supports only the 'C' locale (also known as 'POSIX'),
380 and ignores the settings of the 'LANG' and 'LC_*' environment
383 With EGLIBC_LOCALE_CODE disabled, the following
384 functions are omitted from libc:
386 duplocale localeconv nl_langinfo rpmatch strfmon_l
387 freelocale newlocale nl_langinfo_l strfmon uselocale
389 Furthermore, only the LC_CTYPE and LC_TIME categories of the
390 standard "C" locale are available.
392 The EGLIBC_CATGETS option group depends on this option
393 group; if you disable EGLIBC_LOCALE_CODE, you must also
394 disable EGLIBC_CATGETS.
396 config EGLIBC_OPTION_EGLIBC_NIS
397 bool "Support for NIS, NIS+, and the special 'compat' services."
399 depends EGLIBC_OPTION_EGLIBC_INET
400 depends EGLIBC_OPTION_EGLIBC_SUNRPC
402 This option group includes the NIS, NIS+, and 'compat' Name
403 Service Switch service libraries. When it is disabled, those
404 services libraries are not installed; you should remove any
405 references to them from your 'nsswitch.conf' file.
407 This option group depends on the EGLIBC_INET option
408 group; you must enable that to enable this option group.
410 config EGLIBC_OPTION_EGLIBC_NSSWITCH
411 bool "Name service switch (nsswitch) support"
415 This option group includes support for the 'nsswitch' facility.
416 With this option group enabled, all EGLIBC functions for
417 accessing various system databases (passwords and groups;
418 networking; aliases; public keys; and so on) consult the
419 '/etc/nsswitch.conf' configuration file to decide how to handle
422 With this option group disabled, EGLIBC uses a fixed list of
423 services to satisfy queries on each database, as requested by
424 configuration files specified when EGLIBC is built. Your
425 'option-groups.config' file must set the following two
428 EGLIBC_NSSWITCH_FIXED_CONFIG
430 Set this to the name of a file whose contents observe the
431 same syntax as an ordinary '/etc/nsswitch.conf' file. The
432 EGLIBC build process parses this file just as EGLIBC would
433 at run time if EGLIBC_NSSWITCH were enabled, and
434 produces a C library that uses the nsswitch service
435 libraries to search for database entries as this file
436 specifies, instead of consulting '/etc/nsswitch.conf' at run
439 This should be an absolute filename. The EGLIBC build
440 process may use it from several different working
441 directories. It may include references to Makefile
442 variables like 'common-objpfx' (the top of the build tree,
443 with a trailing slash), or '..' (the top of the source tree,
444 with a trailing slash).
446 The EGLIBC source tree includes a sample configuration file
447 named 'nss/fixed-nsswitch.conf'; for simple configurations,
448 you will probably want to delete references to databases not
449 needed on your system.
451 EGLIBC_NSSWITCH_FIXED_FUNCTIONS
453 The EGLIBC build process uses this file to decide which
454 functions to make available from which service libraries.
455 The file 'nss/fixed-nsswitch.functions' serves as a sample
456 configuration file for this setting, and explains its syntax
457 and meaning in more detail.
459 This should be an absolute file name. The EGLIBC build
460 process may use it from several different working
461 directories. It may include references to Makefile
462 variables like 'common-objpfx' (the top of the build tree,
463 with a trailing slash), or '..' (the top of the source tree,
464 with a trailing slash).
466 Be sure to mention each function in each service you wish to
467 use. If you do not mention a service's function here, the
468 EGLIBC database access functions will not find it, even if
469 it is listed in the EGLIBC_NSSWITCH_FIXED_CONFIG
472 In this arrangement, EGLIBC will not use the 'dlopen' and
473 'dlsym' functions to find database access functions. Instead,
474 libc hard-codes references to the service libraries' database
475 access functions. You must explicitly link your program
476 against the name service libraries (those whose names start
477 with 'libnss_', in the sysroot's '/lib' directory) whose
478 functions you intend to use. This arrangement helps
479 system-wide static analysis tools decide which functions a
480 system actually uses.
482 Note that some nsswitch service libraries require other option
483 groups to be enabled; for example, the EGLIBC_INET
484 option group must be enabled to use the 'libnss_dns.so.2'
485 service library, which uses the Domain Name System network
486 protocol to answer queries.
488 config EGLIBC_OPTION_EGLIBC_RCMD
489 bool "Support for 'rcmd' and related library functions"
491 depends EGLIBC_OPTION_EGLIBC_INET
493 This option group includes functions for running commands on
494 remote machines via the 'rsh' protocol, and doing authentication
495 related to those functions. This also includes functions that
496 use the 'rexec' protocol.
498 This option group includes the following functions:
507 config EGLIBC_OPTION_EGLIBC_SPAWN
508 bool "Support for POSIX posix_spawn functions"
511 This option group includes the POSIX functions for executing
512 programs in child processes without using 'fork' or 'vfork'.
514 This option group includes the following functions:
517 posix_spawnattr_destroy
518 posix_spawnattr_getflags
519 posix_spawnattr_getpgroup
520 posix_spawnattr_getschedparam
521 posix_spawnattr_getschedpolicy
522 posix_spawnattr_getsigdefault
523 posix_spawnattr_getsigmask
525 posix_spawnattr_setflags
526 posix_spawnattr_setpgroup
527 posix_spawnattr_setschedparam
528 posix_spawnattr_setschedpolicy
529 posix_spawnattr_setsigdefault
530 posix_spawnattr_setsigmask
531 posix_spawn_file_actions_addclose
532 posix_spawn_file_actions_adddup2
533 posix_spawn_file_actions_addopen
534 posix_spawn_file_actions_destroy
535 posix_spawn_file_actions_init
538 This option group also provides the ability for the iconv,
539 localedef, and locale programs to operate transparently on
540 compressed charset definitions. When this option group is
541 disabled, those programs will only operate on uncompressed
544 config EGLIBC_OPTION_EGLIBC_STREAMS
545 bool "Support for accessing STREAMS."
548 This option group includes functions for reading and writing
549 messages to and from STREAMS. The STREAMS interface provides a
550 uniform mechanism for implementing networking services and other
551 character-based I/O. (STREAMS are not to be confused with
552 <stdio.h> FILE objects, also called 'streams'.)
554 This option group includes the following functions:
561 config EGLIBC_OPTION_EGLIBC_SUNRPC
562 bool "Support for the Sun 'RPC' protocol."
564 depends EGLIBC_OPTION_EGLIBC_INET
566 This option group includes support for the Sun RPC protocols,
567 including the 'rpcgen' and 'rpcinfo' programs.
569 config EGLIBC_OPTION_EGLIBC_UTMP
570 bool "Older access functions for 'utmp' login records"
573 This option group includes the older 'utent' family of
574 functions for accessing user login records in the 'utmp' file.
575 POSIX omits these functions in favor of the 'utxent' family,
576 and they are obsolete on systems other than Linux.
578 This option group includes the following functions:
593 This option group includes the following libraries:
595 libutil.so (and libutil.a)
597 config EGLIBC_OPTION_EGLIBC_UTMPX
598 bool "POSIX access functions for 'utmp' login records"
600 depends EGLIBC_OPTION_EGLIBC_UTMP
602 This option group includes the POSIX functions for reading and
603 writing user login records in the 'utmp' file (usually
604 '/var/run/utmp'). The POSIX functions operate on 'struct
605 utmpx' structures, as opposed to the family of older 'utent'
606 functions, which operate on 'struct utmp' structures.
608 This option group includes the following functions:
621 config EGLIBC_OPTION_EGLIBC_WORDEXP
622 bool "Shell-style word expansion"
625 This option group includes the 'wordexp' function for
626 performing word expansion in the manner of the shell, and the
627 accompanying 'wordfree' function.
629 config EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
630 bool "ISO C library wide character functions, excluding I/O"
633 This option group includes the functions defined by the ISO C
634 standard for working with wide and multibyte characters in
635 memory. Functions for reading and writing wide and multibyte
636 characters from and to files call in the
637 POSIX_WIDE_CHAR_DEVICE_IO option group.
639 This option group includes the following functions:
641 btowc mbsinit wcscspn wcstoll
642 iswalnum mbsrtowcs wcsftime wcstombs
643 iswalpha mbstowcs wcslen wcstoul
644 iswblank mbtowc wcsncat wcstoull
645 iswcntrl swprintf wcsncmp wcstoumax
646 iswctype swscanf wcsncpy wcsxfrm
647 iswdigit towctrans wcspbrk wctob
648 iswgraph towlower wcsrchr wctomb
649 iswlower towupper wcsrtombs wctrans
650 iswprint vswprintf wcsspn wctype
651 iswpunct vswscanf wcsstr wmemchr
652 iswspace wcrtomb wcstod wmemcmp
653 iswupper wcscat wcstof wmemcpy
654 iswxdigit wcschr wcstoimax wmemmove
655 mblen wcscmp wcstok wmemset
656 mbrlen wcscoll wcstol
657 mbrtowc wcscpy wcstold
659 config EGLIBC_OPTION_POSIX_REGEXP
660 bool "Regular expressions"
663 This option group includes the POSIX regular expression
664 functions, and the associated non-POSIX extensions and
665 compatibility functions.
667 With POSIX_REGEXP disabled, the following functions are
670 re_comp re_max_failures regcomp
671 re_compile_fastmap re_search regerror
672 re_compile_pattern re_search_2 regexec
673 re_exec re_set_registers regfree
674 re_match re_set_syntax rpmatch
675 re_match_2 re_syntax_options
677 Furthermore, the compatibility regexp interface defined in the
678 <regexp.h> header file, 'compile', 'step', and 'advance', is
681 config EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
682 bool "Input and output functions for wide characters"
684 depends EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
686 This option group includes functions for reading and writing
687 wide characters to and from <stdio.h> streams.
689 This option group includes the following functions:
691 fgetwc fwprintf putwchar vwscanf
692 fgetws fwscanf ungetwc wprintf
693 fputwc getwc vfwprintf wscanf
694 fputws getwchar vfwscanf
697 This option group further includes the following unlocked
698 variants of the above functions:
700 fgetwc_unlocked getwc_unlocked
701 fgetws_unlocked getwchar_unlocked
702 fputwc_unlocked putwc_unlocked
703 fputws_unlocked putwchar_unlocked
705 Note that the GNU standard C++ library, 'libstdc++.so', uses
706 some of these functions; you will not be able to link or run
707 C++ programs if you disable this option group.
709 This option group also affects the behavior of the following
718 These functions all take an OPENTYPE parameter which may
719 contain a string of the form ",ccs=CHARSET", indicating that
720 the underlying file uses the character set named CHARSET.
721 This produces a wide-oriented stream, which is only useful
722 when the functions included in this option group are present.
723 If the user attempts to open a file specifying a character set
724 in the OPENTYPE parameter, and EGLIBC was built with this
725 option group disabled, the function returns NULL, and sets