Config.in 31 KB

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