| 1 | config EGLIBC_OPTION_EGLIBC_ADVANCED_INET6 |
| 2 | bool "IPv6 Advanced Sockets API support (RFC3542)" |
| 3 | default y |
| 4 | select EGLIBC_OPTION_EGLIBC_INET |
| 5 | help |
| 6 | This option group includes the functions specified by RFC 3542, |
| 7 | "Advanced Sockets Application Program Interface (API) for |
| 8 | IPv6". |
| 9 | |
| 10 | This option group includes the following functions: |
| 11 | |
| 12 | inet6_opt_append |
| 13 | inet6_opt_find |
| 14 | inet6_opt_finish |
| 15 | inet6_opt_get_val |
| 16 | inet6_opt_init |
| 17 | inet6_option_alloc |
| 18 | inet6_option_append |
| 19 | inet6_option_find |
| 20 | inet6_option_init |
| 21 | inet6_option_next |
| 22 | inet6_option_space |
| 23 | inet6_opt_next |
| 24 | inet6_opt_set_val |
| 25 | inet6_rth_add |
| 26 | inet6_rth_getaddr |
| 27 | inet6_rth_init |
| 28 | inet6_rth_reverse |
| 29 | inet6_rth_segments |
| 30 | inet6_rth_space |
| 31 | |
| 32 | |
| 33 | config EGLIBC_OPTION_EGLIBC_BACKTRACE |
| 34 | bool "Functions for producing backtraces" |
| 35 | default y |
| 36 | help |
| 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. |
| 41 | |
| 42 | This option group includes the following functions: |
| 43 | |
| 44 | backtrace |
| 45 | backtrace_symbols |
| 46 | backtrace_symbols_fd |
| 47 | |
| 48 | |
| 49 | config EGLIBC_OPTION_EGLIBC_BIG_MACROS |
| 50 | bool "Use extensive inline code" |
| 51 | default y |
| 52 | depends EGLIBC_VERSION_2_11 |
| 53 | help |
| 54 | This option group specifies whether certain pieces of code |
| 55 | should be inlined to achieve maximum speed. If this option |
| 56 | group is not selected, function calls will be used instead, |
| 57 | hence reducing the library footprint. |
| 58 | |
| 59 | |
| 60 | config EGLIBC_OPTION_EGLIBC_BSD |
| 61 | bool "BSD-specific functions, and their compatibility stubs" |
| 62 | default y |
| 63 | help |
| 64 | This option group includes functions specific to BSD kernels. |
| 65 | A number of these functions have stub versions that are also |
| 66 | included in libraries built for non-BSD systems for |
| 67 | compatibility. |
| 68 | |
| 69 | This option group includes the following functions: |
| 70 | |
| 71 | chflags |
| 72 | fchflags |
| 73 | lchmod |
| 74 | revoke |
| 75 | setlogin |
| 76 | |
| 77 | |
| 78 | config EGLIBC_OPTION_EGLIBC_CXX_TESTS |
| 79 | bool "Tests that link against the standard C++ library." |
| 80 | default y |
| 81 | select EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
| 82 | select EGLIBC_OPTION_EGLIBC_LIBM |
| 83 | help |
| 84 | This option group does not include any C library functions; |
| 85 | instead, it controls which EGLIBC tests an ordinary 'make |
| 86 | tests' runs. With this group disabled, tests that would |
| 87 | normally link against the standard C++ library are not |
| 88 | run. |
| 89 | |
| 90 | The standard C++ library depends on the math library 'libm' and |
| 91 | the wide character I/O functions included in EGLIBC. If those |
| 92 | option groups are disabled, this test must also be disabled. |
| 93 | |
| 94 | |
| 95 | config EGLIBC_OPTION_EGLIBC_CATGETS |
| 96 | bool "Functions for accessing message catalogs" |
| 97 | default y |
| 98 | select EGLIBC_OPTION_EGLIBC_LOCALE_CODE |
| 99 | help |
| 100 | This option group includes functions for accessing message |
| 101 | catalogs: catopen, catclose, and catgets. |
| 102 | |
| 103 | This option group depends on the EGLIBC_OPTION_EGLIBC_LOCALE_CODE |
| 104 | option group; if you disable that, you must also disable this. |
| 105 | |
| 106 | |
| 107 | config EGLIBC_OPTION_EGLIBC_CHARSETS |
| 108 | bool "iconv/gconv character set conversion libraries" |
| 109 | default y |
| 110 | help |
| 111 | |
| 112 | This option group includes support for character sets other |
| 113 | than ASCII (ANSI_X3.4-1968) and Unicode and ISO-10646 in their |
| 114 | various encodings. This affects both the character sets |
| 115 | supported by the wide and multibyte character functions, and |
| 116 | those supported by the 'iconv' functions. |
| 117 | |
| 118 | With this option group disabled, EGLIBC supports only the |
| 119 | following character sets: |
| 120 | |
| 121 | ANSI_X3.4 - ASCII |
| 122 | ANSI_X3.4-1968 |
| 123 | ANSI_X3.4-1986 |
| 124 | ASCII |
| 125 | CP367 |
| 126 | CSASCII |
| 127 | IBM367 |
| 128 | ISO-IR-6 |
| 129 | ISO646-US |
| 130 | ISO_646.IRV:1991 |
| 131 | OSF00010020 |
| 132 | US |
| 133 | US-ASCII |
| 134 | |
| 135 | 10646-1:1993 - ISO 10646, in big-endian UCS4 form |
| 136 | 10646-1:1993/UCS4 |
| 137 | CSUCS4 |
| 138 | ISO-10646 |
| 139 | ISO-10646/UCS4 |
| 140 | OSF00010104 |
| 141 | OSF00010105 |
| 142 | OSF00010106 |
| 143 | UCS-4 |
| 144 | UCS-4BE |
| 145 | UCS4 |
| 146 | |
| 147 | UCS-4LE - ISO 10646, in little-endian UCS4 form |
| 148 | |
| 149 | ISO-10646/UTF-8 - ISO 10646, in UTF-8 form |
| 150 | ISO-10646/UTF8 |
| 151 | ISO-IR-193 |
| 152 | OSF05010001 |
| 153 | UTF-8 |
| 154 | UTF8 |
| 155 | |
| 156 | ISO-10646/UCS2 - ISO 10646, in target-endian UCS2 form |
| 157 | OSF00010100 |
| 158 | OSF00010101 |
| 159 | OSF00010102 |
| 160 | UCS-2 |
| 161 | UCS2 |
| 162 | |
| 163 | UCS-2BE - ISO 10646, in big-endian UCS2 form |
| 164 | UNICODEBIG |
| 165 | |
| 166 | UCS-2LE - ISO 10646, in little-endian UCS2 form |
| 167 | UNICODELITTLE |
| 168 | |
| 169 | WCHAR_T - EGLIBC's internal form (target-endian, |
| 170 | 32-bit ISO 10646) |
| 171 | |
| 172 | |
| 173 | config EGLIBC_OPTION_EGLIBC_DB_ALIASES |
| 174 | bool "Functions for accessing the mail aliases database" |
| 175 | default y |
| 176 | help |
| 177 | This option group includes functions for looking up mail |
| 178 | aliases in '/etc/aliases' or using nsswitch. It includes the |
| 179 | following functions: |
| 180 | |
| 181 | endaliasent |
| 182 | getaliasbyname |
| 183 | getaliasbyname_r |
| 184 | getaliasent |
| 185 | getaliasent_r |
| 186 | setaliasent |
| 187 | |
| 188 | When this option group is disabled, the NSS service libraries |
| 189 | also lack support for querying their mail alias tables. |
| 190 | |
| 191 | |
| 192 | config EGLIBC_OPTION_EGLIBC_ENVZ |
| 193 | bool "Functions for handling envz-style environment vectors." |
| 194 | default y |
| 195 | help |
| 196 | This option group contains functions for creating and operating |
| 197 | on envz vectors. An "envz vector" is a vector of strings in a |
| 198 | contiguous block of memory, where each element is a name-value |
| 199 | pair, and elements are separated from their neighbors by null |
| 200 | characters. |
| 201 | |
| 202 | This option group includes the following functions: |
| 203 | |
| 204 | envz_add envz_merge |
| 205 | envz_entry envz_remove |
| 206 | envz_get envz_strip |
| 207 | |
| 208 | |
| 209 | config EGLIBC_OPTION_EGLIBC_FCVT |
| 210 | bool "Functions for converting floating-point numbers to strings" |
| 211 | default y |
| 212 | depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 |
| 213 | help |
| 214 | This option group includes functions for converting |
| 215 | floating-point numbers to strings. |
| 216 | |
| 217 | This option group includes the following functions: |
| 218 | |
| 219 | ecvt qecvt |
| 220 | ecvt_r qecvt_r |
| 221 | fcvt qfcvt |
| 222 | fcvt_r qfcvt_r |
| 223 | gcvt qgcvt |
| 224 | |
| 225 | |
| 226 | config EGLIBC_OPTION_EGLIBC_FMTMSG |
| 227 | bool "Functions for formatting messages" |
| 228 | default y |
| 229 | depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 |
| 230 | help |
| 231 | This option group includes the following functions: |
| 232 | |
| 233 | addseverity fmtmsg |
| 234 | |
| 235 | |
| 236 | config EGLIBC_OPTION_EGLIBC_FSTAB |
| 237 | bool "Access functions for 'fstab'" |
| 238 | default y |
| 239 | help |
| 240 | This option group includes functions for reading the mount |
| 241 | point specification table, '/etc/fstab'. These functions are |
| 242 | not included in the POSIX standard, which provides the |
| 243 | 'getmntent' family of functions instead. |
| 244 | |
| 245 | This option group includes the following functions: |
| 246 | |
| 247 | endfsent getfsspec |
| 248 | getfsent setfsent |
| 249 | getfsfile |
| 250 | |
| 251 | |
| 252 | config EGLIBC_OPTION_EGLIBC_FTRAVERSE |
| 253 | bool "Functions for traversing file hierarchies" |
| 254 | default y |
| 255 | depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 |
| 256 | help |
| 257 | This option group includes functions for traversing file |
| 258 | UNIX file hierachies. |
| 259 | |
| 260 | This option group includes the following functions: |
| 261 | |
| 262 | fts_open ftw |
| 263 | fts_read nftw |
| 264 | fts_children ftw64 |
| 265 | fts_set nftw64 |
| 266 | fts_close |
| 267 | |
| 268 | |
| 269 | config EGLIBC_OPTION_EGLIBC_GETLOGIN |
| 270 | bool "The getlogin function" |
| 271 | default y |
| 272 | select EGLIBC_OPTION_EGLIBC_UTMP |
| 273 | help |
| 274 | This function group includes the 'getlogin' and 'getlogin_r' |
| 275 | functions, which return the user name associated by the login |
| 276 | activity with the current process's controlling terminal. |
| 277 | |
| 278 | With this option group disabled, the 'glob' function will not |
| 279 | fall back on 'getlogin' to find the user's login name for tilde |
| 280 | expansion when the 'HOME' environment variable is not set. |
| 281 | |
| 282 | |
| 283 | config EGLIBC_OPTION_EGLIBC_INET |
| 284 | bool "Networking support" |
| 285 | default y |
| 286 | help |
| 287 | This option group includes networking-specific functions and |
| 288 | data. With EGLIBC_OPTION_EGLIBC_INET disabled, the EGLIBC |
| 289 | installation and API changes as follows: |
| 290 | |
| 291 | - The following libraries are not installed: |
| 292 | |
| 293 | libanl |
| 294 | libnsl |
| 295 | libnss_compat |
| 296 | libnss_dns |
| 297 | libnss_hesiod |
| 298 | libnss_nis |
| 299 | libnss_nisplus |
| 300 | libresolv |
| 301 | |
| 302 | - The following functions and variables are omitted from libc: |
| 303 | |
| 304 | authdes_create hstrerror svc_fdset |
| 305 | authdes_getucred htonl svc_getreq |
| 306 | authdes_pk_create htons svc_getreq_common |
| 307 | authnone_create if_freenameindex svc_getreq_poll |
| 308 | authunix_create if_indextoname svc_getreqset |
| 309 | authunix_create_default if_nameindex svc_max_pollfd |
| 310 | bindresvport if_nametoindex svc_pollfd |
| 311 | callrpc in6addr_any svcraw_create |
| 312 | cbc_crypt in6addr_loopback svc_register |
| 313 | clnt_broadcast inet6_opt_append svc_run |
| 314 | clnt_create inet6_opt_find svc_sendreply |
| 315 | clnt_pcreateerror inet6_opt_finish svctcp_create |
| 316 | clnt_perrno inet6_opt_get_val svcudp_bufcreate |
| 317 | clnt_perror inet6_opt_init svcudp_create |
| 318 | clntraw_create inet6_option_alloc svcudp_enablecache |
| 319 | clnt_spcreateerror inet6_option_append svcunix_create |
| 320 | clnt_sperrno inet6_option_find svcunixfd_create |
| 321 | clnt_sperror inet6_option_init svc_unregister |
| 322 | clnttcp_create inet6_option_next user2netname |
| 323 | clntudp_bufcreate inet6_option_space xdecrypt |
| 324 | clntudp_create inet6_opt_next xdr_accepted_reply |
| 325 | clntunix_create inet6_opt_set_val xdr_array |
| 326 | des_setparity inet6_rth_add xdr_authdes_cred |
| 327 | ecb_crypt inet6_rth_getaddr xdr_authdes_verf |
| 328 | endaliasent inet6_rth_init xdr_authunix_parms |
| 329 | endhostent inet6_rth_reverse xdr_bool |
| 330 | endnetent inet6_rth_segments xdr_bytes |
| 331 | endnetgrent inet6_rth_space xdr_callhdr |
| 332 | endprotoent inet_addr xdr_callmsg |
| 333 | endrpcent inet_aton xdr_char |
| 334 | endservent inet_lnaof xdr_cryptkeyarg |
| 335 | ether_aton inet_makeaddr xdr_cryptkeyarg2 |
| 336 | ether_aton_r inet_netof xdr_cryptkeyres |
| 337 | ether_hostton inet_network xdr_des_block |
| 338 | ether_line inet_nsap_addr xdr_double |
| 339 | ether_ntoa inet_nsap_ntoa xdr_enum |
| 340 | ether_ntoa_r inet_ntoa xdr_float |
| 341 | ether_ntohost inet_ntop xdr_free |
| 342 | freeaddrinfo inet_pton xdr_getcredres |
| 343 | freeifaddrs innetgr xdr_hyper |
| 344 | gai_strerror iruserok xdr_int |
| 345 | getaddrinfo iruserok_af xdr_int16_t |
| 346 | getaliasbyname key_decryptsession xdr_int32_t |
| 347 | getaliasbyname_r key_decryptsession_pk xdr_int64_t |
| 348 | getaliasent key_encryptsession xdr_int8_t |
| 349 | getaliasent_r key_encryptsession_pk xdr_keybuf |
| 350 | gethostbyaddr key_gendes xdr_key_netstarg |
| 351 | gethostbyaddr_r key_get_conv xdr_key_netstres |
| 352 | gethostbyname key_secretkey_is_set xdr_keystatus |
| 353 | gethostbyname2 key_setnet xdr_long |
| 354 | gethostbyname2_r key_setsecret xdr_longlong_t |
| 355 | gethostbyname_r netname2host xdrmem_create |
| 356 | gethostent netname2user xdr_netnamestr |
| 357 | gethostent_r ntohl xdr_netobj |
| 358 | getifaddrs ntohs xdr_opaque |
| 359 | getipv4sourcefilter passwd2des xdr_opaque_auth |
| 360 | get_myaddress pmap_getmaps xdr_pmap |
| 361 | getnameinfo pmap_getport xdr_pmaplist |
| 362 | getnetbyaddr pmap_rmtcall xdr_pointer |
| 363 | getnetbyaddr_r pmap_set xdr_quad_t |
| 364 | getnetbyname pmap_unset xdrrec_create |
| 365 | getnetbyname_r rcmd xdrrec_endofrecord |
| 366 | getnetent rcmd_af xdrrec_eof |
| 367 | getnetent_r registerrpc xdrrec_skiprecord |
| 368 | getnetgrent res_init xdr_reference |
| 369 | getnetgrent_r rexec xdr_rejected_reply |
| 370 | getnetname rexec_af xdr_replymsg |
| 371 | getprotobyname rexecoptions xdr_rmtcall_args |
| 372 | getprotobyname_r rpc_createerr xdr_rmtcallres |
| 373 | getprotobynumber rresvport xdr_short |
| 374 | getprotobynumber_r rresvport_af xdr_sizeof |
| 375 | getprotoent rtime xdrstdio_create |
| 376 | getprotoent_r ruserok xdr_string |
| 377 | getpublickey ruserok_af xdr_u_char |
| 378 | getrpcbyname ruserpass xdr_u_hyper |
| 379 | getrpcbyname_r setaliasent xdr_u_int |
| 380 | getrpcbynumber sethostent xdr_uint16_t |
| 381 | getrpcbynumber_r setipv4sourcefilter xdr_uint32_t |
| 382 | getrpcent setnetent xdr_uint64_t |
| 383 | getrpcent_r setnetgrent xdr_uint8_t |
| 384 | getrpcport setprotoent xdr_u_long |
| 385 | getsecretkey setrpcent xdr_u_longlong_t |
| 386 | getservbyname setservent xdr_union |
| 387 | getservbyname_r setsourcefilter xdr_unixcred |
| 388 | getservbyport svcauthdes_stats xdr_u_quad_t |
| 389 | getservbyport_r svcerr_auth xdr_u_short |
| 390 | getservent svcerr_decode xdr_vector |
| 391 | getservent_r svcerr_noproc xdr_void |
| 392 | getsourcefilter svcerr_noprog xdr_wrapstring |
| 393 | h_errlist svcerr_progvers xencrypt |
| 394 | h_errno svcerr_systemerr xprt_register |
| 395 | herror svcerr_weakauth xprt_unregister |
| 396 | h_nerr svc_exit |
| 397 | host2netname svcfd_create |
| 398 | |
| 399 | - The rpcgen, nscd, and rpcinfo commands are not installed. |
| 400 | |
| 401 | - The 'rpc' file (a text file listing RPC services) is not installed. |
| 402 | |
| 403 | Socket-related system calls do not fall in this option group, |
| 404 | because many are also used for other inter-process |
| 405 | communication mechanisms. For example, the 'syslog' routines |
| 406 | use Unix-domain sockets to communicate with the syslog daemon; |
| 407 | syslog is valuable in non-networked contexts. |
| 408 | |
| 409 | |
| 410 | config EGLIBC_OPTION_EGLIBC_LIBM |
| 411 | bool "libm (math library)" |
| 412 | default y |
| 413 | help |
| 414 | This option group includes the 'libm' library, containing |
| 415 | mathematical functions. If this option group is omitted, then |
| 416 | an EGLIBC installation does not include shared or unshared versions |
| 417 | of the math library. |
| 418 | |
| 419 | Note that this does not remove all floating-point related |
| 420 | functionality from EGLIBC; for example, 'printf' and 'scanf' |
| 421 | can still print and read floating-point values with this option |
| 422 | group disabled. |
| 423 | |
| 424 | Note that the ISO Standard C++ library 'libstdc++' depends on |
| 425 | EGLIBC's math library 'libm'. If you disable this option |
| 426 | group, you will not be able to build 'libstdc++' against the |
| 427 | resulting EGLIBC installation. |
| 428 | |
| 429 | |
| 430 | config EGLIBC_OPTION_EGLIBC_LOCALES |
| 431 | bool "Locale definitions" |
| 432 | default y |
| 433 | help |
| 434 | This option group includes all locale definitions other than |
| 435 | that for the "C" locale. If this option group is omitted, then |
| 436 | only the "C" locale is supported. |
| 437 | |
| 438 | |
| 439 | config EGLIBC_OPTION_EGLIBC_LOCALE_CODE |
| 440 | bool "Locale functions" |
| 441 | default y |
| 442 | select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 |
| 443 | help |
| 444 | This option group includes locale support functions, programs, |
| 445 | and libraries. With EGLIBC_OPTION_EGLIBC_LOCALE_CODE disabled, |
| 446 | EGLIBC supports only the 'C' locale (also known as 'POSIX'), |
| 447 | and ignores the settings of the 'LANG' and 'LC_*' environment |
| 448 | variables. |
| 449 | |
| 450 | With EGLIBC_OPTION_EGLIBC_LOCALE_CODE disabled, the following |
| 451 | functions are omitted from libc: |
| 452 | |
| 453 | duplocale localeconv nl_langinfo rpmatch strfmon_l |
| 454 | freelocale newlocale nl_langinfo_l strfmon uselocale |
| 455 | |
| 456 | Furthermore, only the LC_CTYPE and LC_TIME categories of the |
| 457 | standard "C" locale are available. |
| 458 | |
| 459 | The EGLIBC_OPTION_EGLIBC_CATGETS option group depends on this option |
| 460 | group; if you disable EGLIBC_OPTION_EGLIBC_LOCALE_CODE, you must also |
| 461 | disable EGLIBC_OPTION_EGLIBC_CATGETS. |
| 462 | |
| 463 | |
| 464 | config EGLIBC_OPTION_EGLIBC_MEMUSAGE |
| 465 | bool "Memory profiling library" |
| 466 | default y |
| 467 | depends EGLIBC_VERSION_2_11 |
| 468 | help |
| 469 | This option group includes the `libmemusage' library and |
| 470 | the `memusage' and `memusagestat' utilities. |
| 471 | These components provide memory profiling functions. |
| 472 | |
| 473 | EGLIBC_OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE |
| 474 | |
| 475 | Libmemusage library buffers the profiling data in memory |
| 476 | before writing it out to disk. By default, the library |
| 477 | allocates 1.5M buffer, which can be substantial for some |
| 478 | systems. EGLIBC_OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE option |
| 479 | allows to change the default buffer size. It specifies |
| 480 | the number of entries the buffer should have. |
| 481 | On most architectures one buffer entry amounts to 48 bytes, |
| 482 | so setting this option to the value of 512 will reduce the size of |
| 483 | the memory buffer to 24K. |
| 484 | |
| 485 | |
| 486 | config EGLIBC_OPTION_EGLIBC_NIS |
| 487 | bool "Support for NIS, NIS+, and the special 'compat' services." |
| 488 | default y |
| 489 | select EGLIBC_OPTION_EGLIBC_INET |
| 490 | select EGLIBC_OPTION_EGLIBC_SUNRPC |
| 491 | help |
| 492 | This option group includes the NIS, NIS+, and 'compat' Name |
| 493 | Service Switch service libraries. When it is disabled, those |
| 494 | services libraries are not installed; you should remove any |
| 495 | references to them from your 'nsswitch.conf' file. |
| 496 | |
| 497 | This option group depends on the EGLIBC_OPTION_EGLIBC_INET option |
| 498 | group; you must enable that to enable this option group. |
| 499 | |
| 500 | |
| 501 | config EGLIBC_OPTION_EGLIBC_NSSWITCH |
| 502 | bool "Name service switch (nsswitch) support" |
| 503 | default y |
| 504 | select EGLIBC_OPTION_EGLIBC_INET |
| 505 | help |
| 506 | |
| 507 | This option group includes support for the 'nsswitch' facility. |
| 508 | With this option group enabled, all EGLIBC functions for |
| 509 | accessing various system databases (passwords and groups; |
| 510 | networking; aliases; public keys; and so on) consult the |
| 511 | '/etc/nsswitch.conf' configuration file to decide how to handle |
| 512 | queries. |
| 513 | |
| 514 | With this option group disabled, EGLIBC uses a fixed list of |
| 515 | services to satisfy queries on each database, as requested by |
| 516 | configuration files specified when EGLIBC is built. Your |
| 517 | 'option-groups.config' file must set the following two |
| 518 | variables: |
| 519 | |
| 520 | EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG |
| 521 | |
| 522 | Set this to the name of a file whose contents observe the |
| 523 | same syntax as an ordinary '/etc/nsswitch.conf' file. The |
| 524 | EGLIBC build process parses this file just as EGLIBC would |
| 525 | at run time if EGLIBC_NSSWITCH were enabled, and |
| 526 | produces a C library that uses the nsswitch service |
| 527 | libraries to search for database entries as this file |
| 528 | specifies, instead of consulting '/etc/nsswitch.conf' at run |
| 529 | time. |
| 530 | |
| 531 | This should be an absolute filename. The EGLIBC build |
| 532 | process may use it from several different working |
| 533 | directories. It may include references to Makefile |
| 534 | variables like 'common-objpfx' (the top of the build tree, |
| 535 | with a trailing slash), or '..' (the top of the source tree, |
| 536 | with a trailing slash). |
| 537 | |
| 538 | The EGLIBC source tree includes a sample configuration file |
| 539 | named 'nss/fixed-nsswitch.conf'; for simple configurations, |
| 540 | you will probably want to delete references to databases not |
| 541 | needed on your system. |
| 542 | |
| 543 | EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS |
| 544 | |
| 545 | The EGLIBC build process uses this file to decide which |
| 546 | functions to make available from which service libraries. |
| 547 | The file 'nss/fixed-nsswitch.functions' serves as a sample |
| 548 | configuration file for this setting, and explains its syntax |
| 549 | and meaning in more detail. |
| 550 | |
| 551 | This should be an absolute file name. The EGLIBC build |
| 552 | process may use it from several different working |
| 553 | directories. It may include references to Makefile |
| 554 | variables like 'common-objpfx' (the top of the build tree, |
| 555 | with a trailing slash), or '..' (the top of the source tree, |
| 556 | with a trailing slash). |
| 557 | |
| 558 | Be sure to mention each function in each service you wish to |
| 559 | use. If you do not mention a service's function here, the |
| 560 | EGLIBC database access functions will not find it, even if |
| 561 | it is listed in the EGLIBC_OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG |
| 562 | file. |
| 563 | |
| 564 | In this arrangement, EGLIBC will not use the 'dlopen' and |
| 565 | 'dlsym' functions to find database access functions. Instead, |
| 566 | libc hard-codes references to the service libraries' database |
| 567 | access functions. You must explicitly link your program |
| 568 | against the name service libraries (those whose names start |
| 569 | with 'libnss_', in the sysroot's '/lib' directory) whose |
| 570 | functions you intend to use. This arrangement helps |
| 571 | system-wide static analysis tools decide which functions a |
| 572 | system actually uses. |
| 573 | |
| 574 | Note that some nsswitch service libraries require other option |
| 575 | groups to be enabled; for example, the EGLIBC_OPTION_EGLIBC_INET |
| 576 | option group must be enabled to use the 'libnss_dns.so.2' |
| 577 | service library, which uses the Domain Name System network |
| 578 | protocol to answer queries. |
| 579 | |
| 580 | |
| 581 | config EGLIBC_OPTION_EGLIBC_RCMD |
| 582 | bool "Support for 'rcmd' and related library functions" |
| 583 | default y |
| 584 | select EGLIBC_OPTION_EGLIBC_INET |
| 585 | help |
| 586 | This option group includes functions for running commands on |
| 587 | remote machines via the 'rsh' protocol, and doing authentication |
| 588 | related to those functions. This also includes functions that |
| 589 | use the 'rexec' protocol. |
| 590 | |
| 591 | This option group includes the following functions: |
| 592 | |
| 593 | rcmd ruserok |
| 594 | rcmd_af ruserok_af |
| 595 | rexec iruserok |
| 596 | rexec_af iruserok_af |
| 597 | rresvport ruserpass |
| 598 | rresvport_af |
| 599 | |
| 600 | |
| 601 | config EGLIBC_OPTION_EGLIBC_SPAWN |
| 602 | bool "Support for POSIX posix_spawn functions" |
| 603 | default y |
| 604 | help |
| 605 | This option group includes the POSIX functions for executing |
| 606 | programs in child processes without using 'fork' or 'vfork'. |
| 607 | |
| 608 | This option group includes the following functions: |
| 609 | |
| 610 | posix_spawn |
| 611 | posix_spawnattr_destroy |
| 612 | posix_spawnattr_getflags |
| 613 | posix_spawnattr_getpgroup |
| 614 | posix_spawnattr_getschedparam |
| 615 | posix_spawnattr_getschedpolicy |
| 616 | posix_spawnattr_getsigdefault |
| 617 | posix_spawnattr_getsigmask |
| 618 | posix_spawnattr_init |
| 619 | posix_spawnattr_setflags |
| 620 | posix_spawnattr_setpgroup |
| 621 | posix_spawnattr_setschedparam |
| 622 | posix_spawnattr_setschedpolicy |
| 623 | posix_spawnattr_setsigdefault |
| 624 | posix_spawnattr_setsigmask |
| 625 | posix_spawn_file_actions_addclose |
| 626 | posix_spawn_file_actions_adddup2 |
| 627 | posix_spawn_file_actions_addopen |
| 628 | posix_spawn_file_actions_destroy |
| 629 | posix_spawn_file_actions_init |
| 630 | posix_spawnp |
| 631 | |
| 632 | This option group also provides the ability for the iconv, |
| 633 | localedef, and locale programs to operate transparently on |
| 634 | compressed charset definitions. When this option group is |
| 635 | disabled, those programs will only operate on uncompressed |
| 636 | charmap files. |
| 637 | |
| 638 | |
| 639 | config EGLIBC_OPTION_EGLIBC_STREAMS |
| 640 | bool "Support for accessing STREAMS." |
| 641 | default y |
| 642 | help |
| 643 | This option group includes functions for reading and writing |
| 644 | messages to and from STREAMS. The STREAMS interface provides a |
| 645 | uniform mechanism for implementing networking services and other |
| 646 | character-based I/O. (STREAMS are not to be confused with |
| 647 | <stdio.h> FILE objects, also called 'streams'.) |
| 648 | |
| 649 | This option group includes the following functions: |
| 650 | |
| 651 | getmsg putpmsg |
| 652 | getpmsg fattach |
| 653 | isastream fdetach |
| 654 | putmsg |
| 655 | |
| 656 | |
| 657 | config EGLIBC_OPTION_EGLIBC_SUNRPC |
| 658 | bool "Support for the Sun 'RPC' protocol." |
| 659 | default y |
| 660 | select EGLIBC_OPTION_EGLIBC_INET |
| 661 | help |
| 662 | This option group includes support for the Sun RPC protocols, |
| 663 | including the 'rpcgen' and 'rpcinfo' programs. |
| 664 | |
| 665 | |
| 666 | config EGLIBC_OPTION_EGLIBC_UTMP |
| 667 | bool "Older access functions for 'utmp' login records" |
| 668 | default y |
| 669 | help |
| 670 | This option group includes the older 'utent' family of |
| 671 | functions for accessing user login records in the 'utmp' file. |
| 672 | POSIX omits these functions in favor of the 'utxent' family, |
| 673 | and they are obsolete on systems other than Linux. |
| 674 | |
| 675 | This option group includes the following functions: |
| 676 | |
| 677 | endutent |
| 678 | getutent |
| 679 | getutent_r |
| 680 | getutid |
| 681 | getutid_r |
| 682 | getutline |
| 683 | getutline_r |
| 684 | logwtmp |
| 685 | pututline |
| 686 | setutent |
| 687 | updwtmp |
| 688 | utmpname |
| 689 | |
| 690 | This option group includes the following libraries: |
| 691 | |
| 692 | libutil.so (and libutil.a) |
| 693 | |
| 694 | |
| 695 | config EGLIBC_OPTION_EGLIBC_UTMPX |
| 696 | bool "POSIX access functions for 'utmp' login records" |
| 697 | default y |
| 698 | select EGLIBC_OPTION_EGLIBC_UTMP |
| 699 | help |
| 700 | This option group includes the POSIX functions for reading and |
| 701 | writing user login records in the 'utmp' file (usually |
| 702 | '/var/run/utmp'). The POSIX functions operate on 'struct |
| 703 | utmpx' structures, as opposed to the family of older 'utent' |
| 704 | functions, which operate on 'struct utmp' structures. |
| 705 | |
| 706 | This option group includes the following functions: |
| 707 | |
| 708 | endutxent |
| 709 | getutmp |
| 710 | getutmpx |
| 711 | getutxent |
| 712 | getutxid |
| 713 | getutxline |
| 714 | pututxline |
| 715 | setutxent |
| 716 | updwtmpx |
| 717 | utmpxname |
| 718 | |
| 719 | |
| 720 | config EGLIBC_OPTION_EGLIBC_WORDEXP |
| 721 | bool "Shell-style word expansion" |
| 722 | default y |
| 723 | help |
| 724 | This option group includes the 'wordexp' function for |
| 725 | performing word expansion in the manner of the shell, and the |
| 726 | accompanying 'wordfree' function. |
| 727 | |
| 728 | |
| 729 | config EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR |
| 730 | bool "ISO C library wide character functions, excluding I/O" |
| 731 | default y |
| 732 | depends EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 |
| 733 | help |
| 734 | This option group includes the functions defined by the ISO C |
| 735 | standard for working with wide and multibyte characters in |
| 736 | memory. Functions for reading and writing wide and multibyte |
| 737 | characters from and to files call in the |
| 738 | EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO option group. |
| 739 | |
| 740 | This option group includes the following functions: |
| 741 | |
| 742 | btowc mbsinit wcscspn wcstoll |
| 743 | iswalnum mbsrtowcs wcsftime wcstombs |
| 744 | iswalpha mbstowcs wcslen wcstoul |
| 745 | iswblank mbtowc wcsncat wcstoull |
| 746 | iswcntrl swprintf wcsncmp wcstoumax |
| 747 | iswctype swscanf wcsncpy wcsxfrm |
| 748 | iswdigit towctrans wcspbrk wctob |
| 749 | iswgraph towlower wcsrchr wctomb |
| 750 | iswlower towupper wcsrtombs wctrans |
| 751 | iswprint vswprintf wcsspn wctype |
| 752 | iswpunct vswscanf wcsstr wmemchr |
| 753 | iswspace wcrtomb wcstod wmemcmp |
| 754 | iswupper wcscat wcstof wmemcpy |
| 755 | iswxdigit wcschr wcstoimax wmemmove |
| 756 | mblen wcscmp wcstok wmemset |
| 757 | mbrlen wcscoll wcstol |
| 758 | mbrtowc wcscpy wcstold |
| 759 | |
| 760 | |
| 761 | config EGLIBC_OPTION_POSIX_REGEXP |
| 762 | bool "Regular expressions" |
| 763 | default y |
| 764 | help |
| 765 | This option group includes the POSIX regular expression |
| 766 | functions, and the associated non-POSIX extensions and |
| 767 | compatibility functions. |
| 768 | |
| 769 | With EGLIBC_OPTION_POSIX_REGEXP disabled, the following functions are |
| 770 | omitted from libc: |
| 771 | |
| 772 | re_comp re_max_failures regcomp |
| 773 | re_compile_fastmap re_search regerror |
| 774 | re_compile_pattern re_search_2 regexec |
| 775 | re_exec re_set_registers regfree |
| 776 | re_match re_set_syntax rpmatch |
| 777 | re_match_2 re_syntax_options |
| 778 | |
| 779 | Furthermore, the compatibility regexp interface defined in the |
| 780 | <regexp.h> header file, 'compile', 'step', and 'advance', is |
| 781 | omitted. |
| 782 | |
| 783 | |
| 784 | config EGLIBC_OPTION_POSIX_REGEXP_GLIBC |
| 785 | bool "Regular expressions from GLIBC" |
| 786 | default y |
| 787 | depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 |
| 788 | select EGLIBC_OPTION_POSIX_REGEXP |
| 789 | help |
| 790 | This option group specifies which regular expression |
| 791 | library to use. The choice is between regex |
| 792 | implementation from GLIBC and regex implementation from |
| 793 | libiberty. The GLIBC variant is fully POSIX conformant and |
| 794 | optimized for speed; regex from libiberty is more than twice |
| 795 | as small while still is enough for most practical purposes. |
| 796 | |
| 797 | |
| 798 | config EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
| 799 | bool "Input and output functions for wide characters" |
| 800 | default y |
| 801 | select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 |
| 802 | help |
| 803 | This option group includes functions for reading and writing |
| 804 | wide characters to and from <stdio.h> streams. |
| 805 | |
| 806 | This option group includes the following functions: |
| 807 | |
| 808 | fgetwc fwprintf putwchar vwscanf |
| 809 | fgetws fwscanf ungetwc wprintf |
| 810 | fputwc getwc vfwprintf wscanf |
| 811 | fputws getwchar vfwscanf |
| 812 | fwide putwc vwprintf |
| 813 | |
| 814 | This option group further includes the following unlocked |
| 815 | variants of the above functions: |
| 816 | |
| 817 | fgetwc_unlocked getwc_unlocked |
| 818 | fgetws_unlocked getwchar_unlocked |
| 819 | fputwc_unlocked putwc_unlocked |
| 820 | fputws_unlocked putwchar_unlocked |
| 821 | |
| 822 | Note that the GNU standard C++ library, 'libstdc++.so', uses |
| 823 | some of these functions; you will not be able to link or run |
| 824 | C++ programs if you disable this option group. |
| 825 | |
| 826 | This option group also affects the behavior of the following |
| 827 | functions: |
| 828 | |
| 829 | fdopen |
| 830 | fopen |
| 831 | fopen64 |
| 832 | freopen |
| 833 | freopen64 |
| 834 | |
| 835 | These functions all take an OPENTYPE parameter which may |
| 836 | contain a string of the form ",ccs=CHARSET", indicating that |
| 837 | the underlying file uses the character set named CHARSET. |
| 838 | This produces a wide-oriented stream, which is only useful |
| 839 | when the functions included in this option group are present. |
| 840 | If the user attempts to open a file specifying a character set |
| 841 | in the OPENTYPE parameter, and EGLIBC was built with this |
| 842 | option group disabled, the function returns NULL, and sets |
| 843 | errno to EINVAL. |
| 844 | |