add support for alternative C libraries (currently only glibc/eglibc) other (related...
[openwrt/openwrt.git] / toolchain / eglibc / config / Config.in
diff --git a/toolchain/eglibc/config/Config.in b/toolchain/eglibc/config/Config.in
new file mode 100644 (file)
index 0000000..c4496be
--- /dev/null
@@ -0,0 +1,726 @@
+config EGLIBC_OPTION_EGLIBC_ADVANCED_INET6
+   bool "IPv6 Advanced Sockets API support (RFC3542)"
+   default y
+   depends 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_alloc
+         inet6_append
+         inet6_find
+         inet6_init
+         inet6_next
+         inet6_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_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
+   depends EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO
+   depends 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
+   depends 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_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_DB_ALIASES
+   bool "Functions for accessing the mail aliases database"
+   default y
+   help
+       This option group includues 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_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 includues the following functions:
+
+         endfsent       getfsspec
+         getfsent       setfsent
+         getfsfile
+
+config EGLIBC_OPTION_EGLIBC_GETLOGIN
+   bool "The getlogin function"
+   default y
+   depends 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_INET
+   bool "Networking support"
+   default y
+   help
+       This option group includes networking-specific functions and
+       data.  With 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_alloc     svcudp_enablecache
+         clnt_spcreateerror       inet6_append    svcunix_create
+         clnt_sperrno             inet6_find      svcunixfd_create
+         clnt_sperror             inet6_init      svc_unregister
+         clnttcp_create           inet6_next      user2netname
+         clntudp_bufcreate        inet6_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_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_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
+   depends EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR
+   help
+       This option group includes locale support functions, programs,
+       and libraries.  With EGLIBC_LOCALE_FUNCTIONS disabled,
+       EGLIBC supports only the 'C' locale (also known as 'POSIX'),
+       and ignores the settings of the 'LANG' and 'LC_*' environment
+       variables.
+
+       With 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_CATGETS option group depends on this option
+       group; if you disable EGLIBC_LOCALE_CODE, you must also
+       disable EGLIBC_CATGETS.
+
+config EGLIBC_OPTION_EGLIBC_NIS
+   bool "Support for NIS, NIS+, and the special 'compat' services."
+   default y
+   depends EGLIBC_OPTION_EGLIBC_INET
+   depends 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_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
+   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_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_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_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_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
+   depends 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_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 y
+   depends 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
+   depends 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
+        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 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_WIDE_CHAR_DEVICE_IO
+   bool "Input and output functions for wide characters"
+   default y
+   depends 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.