toolchain: The glorious return of glibc, ver 2.21
[openwrt/svn-archive/archive.git] / toolchain / glibc / config / Config.in
diff --git a/toolchain/glibc/config/Config.in b/toolchain/glibc/config/Config.in
new file mode 100644 (file)
index 0000000..6f02223
--- /dev/null
@@ -0,0 +1,903 @@
+config EGLIBC_OPTION_EGLIBC_ADVANCED_INET6
+       bool "IPv6 Advanced Sockets API support (RFC3542)"
+       default y
+       select EGLIBC_OPTION_EGLIBC_INET
+       help
+         This option group includes the functions specified by RFC 3542,
+         "Advanced Sockets Application Program Interface (API) for
+         IPv6".
+
+         This option group includes the following functions:
+
+               inet6_opt_append
+               inet6_opt_find
+               inet6_opt_finish
+               inet6_opt_get_val
+               inet6_opt_init
+               inet6_option_alloc
+               inet6_option_append
+               inet6_option_find
+               inet6_option_init
+               inet6_option_next
+               inet6_option_space
+               inet6_opt_next
+               inet6_opt_set_val
+               inet6_rth_add
+               inet6_rth_getaddr
+               inet6_rth_init
+               inet6_rth_reverse
+               inet6_rth_segments
+               inet6_rth_space
+
+
+config EGLIBC_OPTION_EGLIBC_BACKTRACE
+       bool "Functions for producing backtraces"
+       default y
+       help
+         This option group includes functions for producing a list of
+         the function calls that are currently active in a thread, from
+         within the thread itself.  These functions are often used
+         within signal handlers, to produce diagnostic output.
+
+         This option group includes the following functions:
+
+               backtrace
+               backtrace_symbols
+               backtrace_symbols_fd
+
+
+config EGLIBC_OPTION_EGLIBC_BIG_MACROS
+       bool "Use extensive inline code"
+       default y
+       help
+         This option group specifies whether certain pieces of code
+         should be inlined to achieve maximum speed.  If this option
+         group is not selected, function calls will be used instead,
+         hence reducing the library footprint.
+
+
+config EGLIBC_OPTION_EGLIBC_BSD
+       bool "BSD-specific functions, and their compatibility stubs"
+       default y
+       help
+         This option group includes functions specific to BSD kernels.
+         A number of these functions have stub versions that are also
+         included in libraries built for non-BSD systems for
+         compatibility.
+
+         This option group includes the following functions:
+
+               chflags
+               fchflags
+               lchmod
+               revoke
+               setlogin
+
+
+config EGLIBC_OPTION_EGLIBC_CXX_TESTS
+       bool "Tests that link against the standard C++ library."
+       default y
+       select EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
+       select EGLIBC_OPTION_EGLIBC_LIBM
+       help
+         This option group does not include any C library functions;
+         instead, it controls which EGLIBC tests an ordinary 'make
+         tests' runs.  With this group disabled, tests that would
+         normally link against the standard C++ library are not
+         run.
+
+         The standard C++ library depends on the math library 'libm' and
+         the wide character I/O functions included in EGLIBC.  If those
+         option groups are disabled, this test must also be disabled.
+
+
+config EGLIBC_OPTION_EGLIBC_CATGETS
+       bool "Functions for accessing message catalogs"
+       default y
+       select EGLIBC_OPTION_EGLIBC_LOCALE_CODE
+       help
+         This option group includes functions for accessing message
+         catalogs: catopen, catclose, and catgets.
+
+         This option group depends on the EGLIBC_OPTION_EGLIBC_LOCALE_CODE
+         option group; if you disable that, you must also disable this.
+
+
+config EGLIBC_OPTION_EGLIBC_CHARSETS
+       bool "iconv/gconv character set conversion libraries"
+       default y
+       help
+
+         This option group includes support for character sets other
+         than ASCII (ANSI_X3.4-1968) and Unicode and ISO-10646 in their
+         various encodings.  This affects both the character sets
+         supported by the wide and multibyte character functions, and
+         those supported by the 'iconv' functions.
+
+         With this option group disabled, EGLIBC supports only the
+         following character sets:
+
+               ANSI_X3.4         - ASCII
+               ANSI_X3.4-1968
+               ANSI_X3.4-1986
+               ASCII
+               CP367
+               CSASCII
+               IBM367
+               ISO-IR-6
+               ISO646-US
+               ISO_646.IRV:1991
+               OSF00010020
+               US
+               US-ASCII
+
+               10646-1:1993      - ISO 10646, in big-endian UCS4 form
+               10646-1:1993/UCS4
+               CSUCS4
+               ISO-10646
+               ISO-10646/UCS4
+               OSF00010104
+               OSF00010105
+               OSF00010106
+               UCS-4
+               UCS-4BE
+               UCS4
+
+               UCS-4LE           - ISO 10646, in little-endian UCS4 form
+
+               ISO-10646/UTF-8   - ISO 10646, in UTF-8 form
+               ISO-10646/UTF8
+               ISO-IR-193
+               OSF05010001
+               UTF-8
+               UTF8
+
+               ISO-10646/UCS2    - ISO 10646, in target-endian UCS2 form
+               OSF00010100
+               OSF00010101
+               OSF00010102
+               UCS-2
+               UCS2
+
+               UCS-2BE           - ISO 10646, in big-endian UCS2 form
+               UNICODEBIG
+
+               UCS-2LE           - ISO 10646, in little-endian UCS2 form
+               UNICODELITTLE
+
+               WCHAR_T           - EGLIBC's internal form (target-endian,
+                                                       32-bit ISO 10646)
+
+
+config EGLIBC_OPTION_EGLIBC_CRYPT
+       bool "Encryption library"
+       default y
+       help
+         This option group includes the `libcrypt' library which
+         provides functions for one-way encryption.  Supported
+         encryption algorithms include MD5, SHA-256, SHA-512 and DES.
+
+
+config EGLIBC_OPTION_EGLIBC_CRYPT_UFC
+       bool "Ultra fast `crypt' implementation"
+       default y
+       select EGLIBC_OPTION_EGLIBC_CRYPT
+       help
+         This option group provides ultra fast DES-based implementation of
+         the `crypt' function.  When this option group is disabled,
+         (a) the library will not provide the setkey[_r] and encrypt[_r]
+         functions and (b) the crypt[_r] function will return NULL and set the
+         errno to ENOSYS if /salt/ passed does not correspond to either MD5,
+         SHA-256 or SHA-512 algorithm.
+
+
+config EGLIBC_OPTION_EGLIBC_DB_ALIASES
+       bool "Functions for accessing the mail aliases database"
+       default y
+       help
+         This option group includes functions for looking up mail
+         aliases in '/etc/aliases' or using nsswitch.  It includes the
+         following functions:
+
+               endaliasent
+               getaliasbyname
+               getaliasbyname_r
+               getaliasent
+               getaliasent_r
+               setaliasent
+
+         When this option group is disabled, the NSS service libraries
+         also lack support for querying their mail alias tables.
+
+
+config EGLIBC_OPTION_EGLIBC_ENVZ
+       bool "Functions for handling envz-style environment vectors."
+       default y
+       help
+         This option group contains functions for creating and operating
+         on envz vectors.  An "envz vector" is a vector of strings in a
+         contiguous block of memory, where each element is a name-value
+         pair, and elements are separated from their neighbors by null
+         characters.
+
+         This option group includes the following functions:
+
+               envz_add        envz_merge 
+               envz_entry      envz_remove
+               envz_get        envz_strip 
+
+
+config EGLIBC_OPTION_EGLIBC_FCVT
+       bool "Functions for converting floating-point numbers to strings"
+       default y
+       help
+         This option group includes functions for converting
+         floating-point numbers to strings.
+
+         This option group includes the following functions:
+
+               ecvt           qecvt
+               ecvt_r         qecvt_r
+               fcvt           qfcvt
+               fcvt_r         qfcvt_r
+               gcvt           qgcvt
+
+
+config EGLIBC_OPTION_EGLIBC_FMTMSG
+       bool "Functions for formatting messages"
+       default y
+       help
+         This option group includes the following functions:
+
+               addseverity    fmtmsg
+
+
+config EGLIBC_OPTION_EGLIBC_FSTAB
+       bool "Access functions for 'fstab'"
+       default y
+       help
+         This option group includes functions for reading the mount
+         point specification table, '/etc/fstab'.  These functions are
+         not included in the POSIX standard, which provides the
+         'getmntent' family of functions instead.
+
+         This option group includes the following functions:
+
+               endfsent       getfsspec
+               getfsent       setfsent
+               getfsfile
+
+
+config EGLIBC_OPTION_EGLIBC_FTRAVERSE
+       bool "Functions for traversing file hierarchies"
+       default y
+       help
+         This option group includes functions for traversing file
+         UNIX file hierachies.
+
+         This option group includes the following functions:
+
+               fts_open       ftw
+               fts_read       nftw
+               fts_children   ftw64
+               fts_set        nftw64
+               fts_close
+
+
+config EGLIBC_OPTION_EGLIBC_GETLOGIN
+       bool "The getlogin function"
+       default y
+       select EGLIBC_OPTION_EGLIBC_UTMP
+       help
+         This function group includes the 'getlogin' and 'getlogin_r'
+         functions, which return the user name associated by the login
+         activity with the current process's controlling terminal.
+
+         With this option group disabled, the 'glob' function will not
+         fall back on 'getlogin' to find the user's login name for tilde
+         expansion when the 'HOME' environment variable is not set.
+
+
+config EGLIBC_OPTION_EGLIBC_IDN
+       bool "International domain names support"
+       default y
+       help
+         This option group includes the `libcidn' library which
+         provides support for international domain names.
+
+
+config EGLIBC_OPTION_EGLIBC_INET
+       bool "Networking support"
+       default y
+       help
+         This option group includes networking-specific functions and
+         data.  With EGLIBC_OPTION_EGLIBC_INET disabled, the EGLIBC
+         installation and API changes as follows:
+
+         - The following libraries are not installed:
+
+               libanl
+               libnsl
+               libnss_compat
+               libnss_dns
+               libnss_hesiod
+               libnss_nis
+               libnss_nisplus
+               libresolv
+                
+         - The following functions and variables are omitted from libc:
+
+               authdes_create           hstrerror              svc_fdset
+               authdes_getucred         htonl                  svc_getreq
+               authdes_pk_create        htons                  svc_getreq_common
+               authnone_create          if_freenameindex       svc_getreq_poll
+               authunix_create          if_indextoname         svc_getreqset
+               authunix_create_default  if_nameindex           svc_max_pollfd
+               bindresvport             if_nametoindex         svc_pollfd
+               callrpc                  in6addr_any            svcraw_create
+               cbc_crypt                in6addr_loopback       svc_register
+               clnt_broadcast           inet6_opt_append       svc_run
+               clnt_create              inet6_opt_find         svc_sendreply
+               clnt_pcreateerror        inet6_opt_finish       svctcp_create
+               clnt_perrno              inet6_opt_get_val      svcudp_bufcreate
+               clnt_perror              inet6_opt_init         svcudp_create
+               clntraw_create           inet6_option_alloc     svcudp_enablecache
+               clnt_spcreateerror       inet6_option_append    svcunix_create
+               clnt_sperrno             inet6_option_find      svcunixfd_create
+               clnt_sperror             inet6_option_init      svc_unregister
+               clnttcp_create           inet6_option_next      user2netname
+               clntudp_bufcreate        inet6_option_space     xdecrypt
+               clntudp_create           inet6_opt_next         xdr_accepted_reply
+               clntunix_create          inet6_opt_set_val      xdr_array
+               des_setparity            inet6_rth_add          xdr_authdes_cred
+               ecb_crypt                inet6_rth_getaddr      xdr_authdes_verf
+               endaliasent              inet6_rth_init         xdr_authunix_parms
+               endhostent               inet6_rth_reverse      xdr_bool
+               endnetent                inet6_rth_segments     xdr_bytes
+               endnetgrent              inet6_rth_space        xdr_callhdr
+               endprotoent              inet_addr              xdr_callmsg
+               endrpcent                inet_aton              xdr_char
+               endservent               inet_lnaof             xdr_cryptkeyarg
+               ether_aton               inet_makeaddr          xdr_cryptkeyarg2
+               ether_aton_r             inet_netof             xdr_cryptkeyres
+               ether_hostton            inet_network           xdr_des_block
+               ether_line               inet_nsap_addr         xdr_double
+               ether_ntoa               inet_nsap_ntoa         xdr_enum
+               ether_ntoa_r             inet_ntoa              xdr_float
+               ether_ntohost            inet_ntop              xdr_free
+               freeaddrinfo             inet_pton              xdr_getcredres
+               freeifaddrs              innetgr                xdr_hyper
+               gai_strerror             iruserok               xdr_int
+               getaddrinfo              iruserok_af            xdr_int16_t
+               getaliasbyname           key_decryptsession     xdr_int32_t
+               getaliasbyname_r         key_decryptsession_pk  xdr_int64_t
+               getaliasent              key_encryptsession     xdr_int8_t
+               getaliasent_r            key_encryptsession_pk  xdr_keybuf
+               gethostbyaddr            key_gendes             xdr_key_netstarg
+               gethostbyaddr_r          key_get_conv           xdr_key_netstres
+               gethostbyname            key_secretkey_is_set   xdr_keystatus
+               gethostbyname2           key_setnet             xdr_long
+               gethostbyname2_r         key_setsecret          xdr_longlong_t
+               gethostbyname_r          netname2host           xdrmem_create
+               gethostent               netname2user           xdr_netnamestr
+               gethostent_r             ntohl                  xdr_netobj
+               getifaddrs               ntohs                  xdr_opaque
+               getipv4sourcefilter      passwd2des             xdr_opaque_auth
+               get_myaddress            pmap_getmaps           xdr_pmap
+               getnameinfo              pmap_getport           xdr_pmaplist
+               getnetbyaddr             pmap_rmtcall           xdr_pointer
+               getnetbyaddr_r           pmap_set               xdr_quad_t
+               getnetbyname             pmap_unset             xdrrec_create
+               getnetbyname_r           rcmd                   xdrrec_endofrecord
+               getnetent                rcmd_af                xdrrec_eof
+               getnetent_r              registerrpc            xdrrec_skiprecord
+               getnetgrent              res_init               xdr_reference
+               getnetgrent_r            rexec                  xdr_rejected_reply
+               getnetname               rexec_af               xdr_replymsg
+               getprotobyname           rexecoptions           xdr_rmtcall_args
+               getprotobyname_r         rpc_createerr          xdr_rmtcallres
+               getprotobynumber         rresvport              xdr_short
+               getprotobynumber_r       rresvport_af           xdr_sizeof
+               getprotoent              rtime                  xdrstdio_create
+               getprotoent_r            ruserok                xdr_string
+               getpublickey             ruserok_af             xdr_u_char
+               getrpcbyname             ruserpass              xdr_u_hyper
+               getrpcbyname_r           setaliasent            xdr_u_int
+               getrpcbynumber           sethostent             xdr_uint16_t
+               getrpcbynumber_r         setipv4sourcefilter    xdr_uint32_t
+               getrpcent                setnetent              xdr_uint64_t
+               getrpcent_r              setnetgrent            xdr_uint8_t
+               getrpcport               setprotoent            xdr_u_long
+               getsecretkey             setrpcent              xdr_u_longlong_t
+               getservbyname            setservent             xdr_union
+               getservbyname_r          setsourcefilter        xdr_unixcred
+               getservbyport            svcauthdes_stats       xdr_u_quad_t
+               getservbyport_r          svcerr_auth            xdr_u_short
+               getservent               svcerr_decode          xdr_vector
+               getservent_r             svcerr_noproc          xdr_void
+               getsourcefilter          svcerr_noprog          xdr_wrapstring
+               h_errlist                svcerr_progvers        xencrypt
+               h_errno                  svcerr_systemerr       xprt_register
+               herror                   svcerr_weakauth        xprt_unregister
+               h_nerr                   svc_exit
+               host2netname             svcfd_create
+
+         - The rpcgen, nscd, and rpcinfo commands are not installed.
+
+         - The 'rpc' file (a text file listing RPC services) is not installed.
+
+         Socket-related system calls do not fall in this option group,
+         because many are also used for other inter-process
+         communication mechanisms.  For example, the 'syslog' routines
+         use Unix-domain sockets to communicate with the syslog daemon;
+         syslog is valuable in non-networked contexts.
+
+
+config EGLIBC_OPTION_EGLIBC_INET_ANL
+       bool "Asynchronous name lookup"
+       default y
+       select EGLIBC_OPTION_EGLIBC_INET
+       help
+         This option group includes the `libanl' library which
+         provides support for asynchronous name lookup.
+
+
+config EGLIBC_OPTION_EGLIBC_LIBM
+       bool "libm (math library)"
+       default y
+       help
+         This option group includes the 'libm' library, containing
+         mathematical functions.  If this option group is omitted, then
+         an EGLIBC installation does not include shared or unshared versions
+         of the math library.
+
+         Note that this does not remove all floating-point related
+         functionality from EGLIBC; for example, 'printf' and 'scanf'
+         can still print and read floating-point values with this option
+         group disabled.
+
+         Note that the ISO Standard C++ library 'libstdc++' depends on
+         EGLIBC's math library 'libm'.  If you disable this option
+         group, you will not be able to build 'libstdc++' against the
+         resulting EGLIBC installation.
+
+
+config EGLIBC_OPTION_EGLIBC_LIBM_BIG
+       bool "Math library size"
+       default y
+       help
+         This option group enables default configuration of the math library.
+         Not selecting this option group removes most of the extended and
+         double precision math functions and replaces them with wrappers
+         to the single precision couterparts.
+         Doing so greatly degrades quality of calculations carried
+         out by the functions of the math library, but also significantly
+         reduces the size of the libm.
+         This option group is useful for systems that do not rely on precise
+         floating point math.
+
+
+config EGLIBC_OPTION_EGLIBC_LOCALES
+       bool "Locale definitions"
+       default y
+       help
+         This option group includes all locale definitions other than
+         that for the "C" locale.  If this option group is omitted, then
+         only the "C" locale is supported.
+
+
+config EGLIBC_OPTION_EGLIBC_LOCALE_CODE
+       bool "Locale functions"
+       default y
+       select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
+       help
+         This option group includes locale support functions, programs,
+         and libraries.  With EGLIBC_OPTION_EGLIBC_LOCALE_CODE disabled,
+         EGLIBC supports only the 'C' locale (also known as 'POSIX'),
+         and ignores the settings of the 'LANG' and 'LC_*' environment
+         variables.
+
+         With EGLIBC_OPTION_EGLIBC_LOCALE_CODE disabled, the following
+         functions are omitted from libc:
+
+               duplocale   localeconv  nl_langinfo    rpmatch  strfmon_l
+               freelocale  newlocale   nl_langinfo_l  strfmon  uselocale
+
+         Furthermore, only the LC_CTYPE and LC_TIME categories of the
+         standard "C" locale are available.
+
+         The EGLIBC_OPTION_EGLIBC_CATGETS option group depends on this option
+         group; if you disable EGLIBC_OPTION_EGLIBC_LOCALE_CODE, you must also
+         disable EGLIBC_OPTION_EGLIBC_CATGETS.
+
+
+config EGLIBC_OPTION_EGLIBC_MEMUSAGE
+       bool "Memory profiling library"
+       default y
+       help
+         This option group includes the `libmemusage' library and
+         the `memusage' and `memusagestat' utilities.
+         These components provide memory profiling functions.
+
+         EGLIBC_OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE
+
+         Libmemusage library buffers the profiling data in memory
+         before writing it out to disk.  By default, the library
+         allocates 1.5M buffer, which can be substantial for some
+         systems.  EGLIBC_OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE option
+         allows to change the default buffer size.  It specifies
+         the number of entries the buffer should have.
+         On most architectures one buffer entry amounts to 48 bytes,
+         so setting this option to the value of 512 will reduce the size of
+         the memory buffer to 24K.
+
+
+config EGLIBC_OPTION_EGLIBC_NIS
+       bool "Support for NIS, NIS+, and the special 'compat' services."
+       default n
+       select EGLIBC_OPTION_EGLIBC_INET
+       select EGLIBC_OPTION_EGLIBC_SUNRPC
+       help
+         This option group includes the NIS, NIS+, and 'compat' Name
+         Service Switch service libraries.  When it is disabled, those
+         services libraries are not installed; you should remove any
+         references to them from your 'nsswitch.conf' file.
+
+         This option group depends on the EGLIBC_OPTION_EGLIBC_INET option
+         group; you must enable that to enable this option group.
+
+
+config EGLIBC_OPTION_EGLIBC_NSSWITCH
+       bool "Name service switch (nsswitch) support"
+       default y
+       select EGLIBC_OPTION_EGLIBC_INET
+       help
+
+         This option group includes support for the 'nsswitch' facility.
+         With this option group enabled, all EGLIBC functions for
+         accessing various system databases (passwords and groups;
+         networking; aliases; public keys; and so on) consult the
+         '/etc/nsswitch.conf' configuration file to decide how to handle
+         queries.
+
+         With this option group disabled, EGLIBC uses a fixed list of
+         services to satisfy queries on each database, as requested by
+         configuration files specified when EGLIBC is built.  Your
+         'option-groups.config' file must set the following two
+         variables:
+
+         EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
+
+               Set this to the name of a file whose contents observe the
+               same syntax as an ordinary '/etc/nsswitch.conf' file.  The
+               EGLIBC build process parses this file just as EGLIBC would
+               at run time if EGLIBC_NSSWITCH were enabled, and
+               produces a C library that uses the nsswitch service
+               libraries to search for database entries as this file
+               specifies, instead of consulting '/etc/nsswitch.conf' at run
+               time.
+
+               This should be an absolute filename.  The EGLIBC build
+               process may use it from several different working
+               directories.  It may include references to Makefile
+               variables like 'common-objpfx' (the top of the build tree,
+               with a trailing slash), or '..' (the top of the source tree,
+               with a trailing slash).
+
+               The EGLIBC source tree includes a sample configuration file
+               named 'nss/fixed-nsswitch.conf'; for simple configurations,
+               you will probably want to delete references to databases not
+               needed on your system.
+
+         EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS
+
+               The EGLIBC build process uses this file to decide which
+               functions to make available from which service libraries.
+               The file 'nss/fixed-nsswitch.functions' serves as a sample
+               configuration file for this setting, and explains its syntax
+               and meaning in more detail.
+
+               This should be an absolute file name.  The EGLIBC build
+               process may use it from several different working
+               directories.  It may include references to Makefile
+               variables like 'common-objpfx' (the top of the build tree,
+               with a trailing slash), or '..' (the top of the source tree,
+               with a trailing slash).
+
+               Be sure to mention each function in each service you wish to
+               use.  If you do not mention a service's function here, the
+               EGLIBC database access functions will not find it, even if
+               it is listed in the EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG
+               file.
+
+         In this arrangement, EGLIBC will not use the 'dlopen' and
+         'dlsym' functions to find database access functions.  Instead,
+         libc hard-codes references to the service libraries' database
+         access functions.  You must explicitly link your program
+         against the name service libraries (those whose names start
+         with 'libnss_', in the sysroot's '/lib' directory) whose
+         functions you intend to use.  This arrangement helps
+         system-wide static analysis tools decide which functions a
+         system actually uses.
+
+         Note that some nsswitch service libraries require other option
+         groups to be enabled; for example, the EGLIBC_OPTION_EGLIBC_INET
+         option group must be enabled to use the 'libnss_dns.so.2'
+         service library, which uses the Domain Name System network
+         protocol to answer queries.
+
+
+config EGLIBC_OPTION_EGLIBC_RCMD
+       bool "Support for 'rcmd' and related library functions"
+       default y
+       select EGLIBC_OPTION_EGLIBC_INET
+       help
+         This option group includes functions for running commands on
+         remote machines via the 'rsh' protocol, and doing authentication
+         related to those functions.  This also includes functions that
+         use the 'rexec' protocol.
+
+         This option group includes the following functions:
+
+               rcmd            ruserok
+               rcmd_af         ruserok_af
+               rexec           iruserok
+               rexec_af        iruserok_af
+               rresvport       ruserpass
+               rresvport_af
+
+
+config EGLIBC_OPTION_EGLIBC_RTLD_DEBUG
+       bool "Runtime linker debug print outs"
+       default y
+       help
+         This option group enables debug output of the runtime linker
+         which is activated via LD_DEBUG and LD_TRACE_PRELINKING
+         environment variables.  Disabling this option group yields
+         a smaller runtime linker binary.
+         BEWARE: Disabling this option group is likely to break
+         the `ldd' utility which may also be used by the prelinker.
+         In particular, the `--unused' ldd option will not work correctly.
+
+
+config EGLIBC_OPTION_EGLIBC_SPAWN
+       bool "Support for POSIX posix_spawn functions"
+       default y
+       help
+         This option group includes the POSIX functions for executing
+         programs in child processes without using 'fork' or 'vfork'.
+
+         This option group includes the following functions:
+
+               posix_spawn
+               posix_spawnattr_destroy
+               posix_spawnattr_getflags
+               posix_spawnattr_getpgroup
+               posix_spawnattr_getschedparam
+               posix_spawnattr_getschedpolicy
+               posix_spawnattr_getsigdefault
+               posix_spawnattr_getsigmask
+               posix_spawnattr_init
+               posix_spawnattr_setflags
+               posix_spawnattr_setpgroup
+               posix_spawnattr_setschedparam
+               posix_spawnattr_setschedpolicy
+               posix_spawnattr_setsigdefault
+               posix_spawnattr_setsigmask
+               posix_spawn_file_actions_addclose
+               posix_spawn_file_actions_adddup2
+               posix_spawn_file_actions_addopen
+               posix_spawn_file_actions_destroy
+               posix_spawn_file_actions_init
+               posix_spawnp
+
+         This option group also provides the ability for the iconv,
+         localedef, and locale programs to operate transparently on
+         compressed charset definitions.  When this option group is
+         disabled, those programs will only operate on uncompressed
+         charmap files.
+
+
+config EGLIBC_OPTION_EGLIBC_STREAMS
+       bool "Support for accessing STREAMS."
+       default y
+       help
+         This option group includes functions for reading and writing
+         messages to and from STREAMS.  The STREAMS interface provides a
+         uniform mechanism for implementing networking services and other
+         character-based I/O.  (STREAMS are not to be confused with
+         <stdio.h> FILE objects, also called 'streams'.)
+
+         This option group includes the following functions:
+
+               getmsg          putpmsg
+               getpmsg         fattach
+               isastream       fdetach
+               putmsg
+
+
+config EGLIBC_OPTION_EGLIBC_SUNRPC
+       bool "Support for the Sun 'RPC' protocol."
+       default n
+       select EGLIBC_OPTION_EGLIBC_INET
+       help
+         This option group includes support for the Sun RPC protocols,
+         including the 'rpcgen' and 'rpcinfo' programs.
+
+
+config EGLIBC_OPTION_EGLIBC_UTMP
+       bool "Older access functions for 'utmp' login records"
+       default y
+       help
+         This option group includes the older 'utent' family of
+         functions for accessing user login records in the 'utmp' file.
+         POSIX omits these functions in favor of the 'utxent' family,
+         and they are obsolete on systems other than Linux.
+
+         This option group includes the following functions:
+
+               endutent
+               getutent
+               getutent_r
+               getutid
+               getutid_r
+               getutline
+               getutline_r
+               logwtmp
+               pututline
+               setutent
+               updwtmp
+               utmpname
+
+         This option group includes the following libraries:
+
+               libutil.so (and libutil.a)
+
+
+config EGLIBC_OPTION_EGLIBC_UTMPX
+       bool "POSIX access functions for 'utmp' login records"
+       default y
+       select EGLIBC_OPTION_EGLIBC_UTMP    
+       help
+         This option group includes the POSIX functions for reading and
+         writing user login records in the 'utmp' file (usually
+         '/var/run/utmp').  The POSIX functions operate on 'struct
+         utmpx' structures, as opposed to the family of older 'utent'
+         functions, which operate on 'struct utmp' structures.
+
+         This option group includes the following functions:
+
+               endutxent
+               getutmp
+               getutmpx
+               getutxent
+               getutxid
+               getutxline
+               pututxline
+               setutxent
+               updwtmpx
+               utmpxname
+
+
+config EGLIBC_OPTION_EGLIBC_WORDEXP
+       bool "Shell-style word expansion"
+       default y
+       help
+         This option group includes the 'wordexp' function for
+         performing word expansion in the manner of the shell, and the
+         accompanying 'wordfree' function.
+
+
+config EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
+       bool "ISO C library wide character functions, excluding I/O"
+       default y
+       help
+         This option group includes the functions defined by the ISO C
+         standard for working with wide and multibyte characters in
+         memory.  Functions for reading and writing wide and multibyte
+         characters from and to files call in the
+         EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO option group.
+
+         This option group includes the following functions:
+
+               btowc         mbsinit       wcscspn       wcstoll
+               iswalnum      mbsrtowcs     wcsftime      wcstombs
+               iswalpha      mbstowcs      wcslen        wcstoul
+               iswblank      mbtowc        wcsncat       wcstoull
+               iswcntrl      swprintf      wcsncmp       wcstoumax
+               iswctype      swscanf       wcsncpy       wcsxfrm
+               iswdigit      towctrans     wcspbrk       wctob
+               iswgraph      towlower      wcsrchr       wctomb
+               iswlower      towupper      wcsrtombs     wctrans
+               iswprint      vswprintf     wcsspn        wctype
+               iswpunct      vswscanf      wcsstr        wmemchr
+               iswspace      wcrtomb       wcstod        wmemcmp
+               iswupper      wcscat        wcstof        wmemcpy
+               iswxdigit     wcschr        wcstoimax     wmemmove
+               mblen         wcscmp        wcstok        wmemset
+               mbrlen        wcscoll       wcstol
+               mbrtowc       wcscpy        wcstold
+
+
+config EGLIBC_OPTION_POSIX_REGEXP
+       bool "Regular expressions"
+       default y
+       help
+         This option group includes the POSIX regular expression
+         functions, and the associated non-POSIX extensions and
+         compatibility functions.
+
+         With EGLIBC_OPTION_POSIX_REGEXP disabled, the following functions are
+         omitted from libc:
+
+               re_comp                 re_max_failures         regcomp
+               re_compile_fastmap      re_search               regerror
+               re_compile_pattern      re_search_2             regexec
+               re_exec                 re_set_registers        regfree
+               re_match                re_set_syntax           rpmatch
+               re_match_2              re_syntax_options
+
+         Furthermore, the compatibility regexp interface defined in the
+         <regexp.h> header file, 'compile', 'step', and 'advance', is
+         omitted.
+
+
+config EGLIBC_OPTION_POSIX_REGEXP_GLIBC
+       bool "Regular expressions from GLIBC"
+       default y
+       select EGLIBC_OPTION_POSIX_REGEXP
+       help
+         This option group specifies which regular expression
+         library to use.  The choice is between regex
+         implementation from GLIBC and regex implementation from
+         libiberty.  The GLIBC variant is fully POSIX conformant and
+         optimized for speed; regex from libiberty is more than twice
+         as small while still is enough for most practical purposes.
+
+
+config EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
+       bool "Input and output functions for wide characters"
+       default y
+       select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
+       help
+         This option group includes functions for reading and writing
+         wide characters to and from <stdio.h> streams.
+
+         This option group includes the following functions:
+
+               fgetwc        fwprintf      putwchar      vwscanf
+               fgetws        fwscanf       ungetwc       wprintf
+               fputwc        getwc         vfwprintf     wscanf
+               fputws        getwchar      vfwscanf
+               fwide         putwc         vwprintf
+
+         This option group further includes the following unlocked
+         variants of the above functions:
+
+               fgetwc_unlocked           getwc_unlocked
+               fgetws_unlocked           getwchar_unlocked
+               fputwc_unlocked           putwc_unlocked
+               fputws_unlocked           putwchar_unlocked
+                                       
+         Note that the GNU standard C++ library, 'libstdc++.so', uses
+         some of these functions; you will not be able to link or run
+         C++ programs if you disable this option group.
+
+         This option group also affects the behavior of the following
+         functions:
+
+               fdopen
+               fopen
+               fopen64
+               freopen
+               freopen64
+
+         These functions all take an OPENTYPE parameter which may
+         contain a string of the form ",ccs=CHARSET", indicating that
+         the underlying file uses the character set named CHARSET.
+         This produces a wide-oriented stream, which is only useful
+         when the functions included in this option group are present.
+         If the user attempts to open a file specifying a character set
+         in the OPENTYPE parameter, and EGLIBC was built with this
+         option group disabled, the function returns NULL, and sets
+         errno to EINVAL.