diff options
author | jimb <jimb@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2007-04-13 15:50:52 +0000 |
---|---|---|
committer | jimb <jimb@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2007-04-13 15:50:52 +0000 |
commit | 664d6e49d327205c02bf16da8e4285ad2c6944da (patch) | |
tree | 0c8c15b14d303d421bf12cfa33d977af2768264b | |
parent | 2639b1d5c54472320fd3e000b84a49b5984bc4c5 (diff) | |
download | eglibc2-664d6e49d327205c02bf16da8e4285ad2c6944da.tar.gz |
* EGLIBC.option-groups: Doc fixes.
git-svn-id: svn://svn.eglibc.org/branches/eglibc-2_5@1970 7b3dc134-2b1b-0410-93df-9e9f96275f8d
-rw-r--r-- | libc/ChangeLog.eglibc | 4 | ||||
-rw-r--r-- | libc/EGLIBC.option-groups | 58 |
2 files changed, 44 insertions, 18 deletions
diff --git a/libc/ChangeLog.eglibc b/libc/ChangeLog.eglibc index fb55ab6a9..03617e74c 100644 --- a/libc/ChangeLog.eglibc +++ b/libc/ChangeLog.eglibc @@ -1,3 +1,7 @@ +2007-04-13 Jim Blandy <jimb@codesourcery.com> + + * EGLIBC.option-groups: Doc fixes. + 2007-04-11 Jim Blandy <jimb@codesourcery.com> * option-groups.mak: Use '../' if $(..) is unset. diff --git a/libc/EGLIBC.option-groups b/libc/EGLIBC.option-groups index 1bbbe66ae..4e7339ef2 100644 --- a/libc/EGLIBC.option-groups +++ b/libc/EGLIBC.option-groups @@ -56,11 +56,39 @@ disable option groups one by one, until the problem reappears. The Option Groups +EGLIBC currently implements the following option groups, also +documented in the file 'option-groups.def': + +OPTION_EGLIBC_CATGETS + This option group includes functions for accessing message + catalogs: catopen, catclose, and catgets. + +OPTION_EGLIBC_LOCALES + This option group includes all locale definitions other than + those for the "C" locale. If this option group is omitted, then + only the "C" locale is supported. + +OPTION_EGLIBC_LIBM + 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. + The POSIX.1-2001 specification includes a suggested partition of all the functions in the POSIX C API into option groups: math functions like 'sin' and 'cos'; networking functions like 'socket' and -'connect'; and so on. EGLIBC uses this partitioning as the basis for -its own option groups, and follows the POSIX naming scheme. +'connect'; and so on. EGLIBC could use this partitioning as the basis +for future option groups. Implementation @@ -76,31 +104,25 @@ anything else, the option group is omitted. The file default values for all variables; all option groups are enabled by default. -For example, the following 'option-groups.config' would omit -mathematical functions, but include networking functions, and -everything else: +For example, the following 'option-groups.config' would omit locale +data, but include mathematical functions, and everything else: - OPTION_POSIX_C_LANG_MATH = n - OPTION_POSIX_NETWORKING = y + OPTION_EGLIBC_LOCALES = n + OPTION_EGLIBC_LIBM = y In general, each option group variable controls whether a given set of object files in EGLIBC is compiled and included in the final libraries, or omitted from the build. -Each subdirectory's Makefile categorizes its routines by option group. -For example, EGLIBC's 'inet/Makefile' places its functions in the -POSIX_NETWORKING group as follows: +Each subdirectory's Makefile categorizes its routines, libraries, and +executables by option group. For example, EGLIBC's 'math/Makefile' +places the 'libm' library in the OPTION_EGLIBC_LIBM group as follows: - routines-$(OPTION_POSIX_NETWORKING) += \ - htonl htons \ - inet_lnaof inet_mkadr \ - inet_netof inet_ntoa inet_net herrno herrno-loc \ - gethstbyad gethstbyad_r gethstbynm gethstbynm2 gethstbynm2_r \ - ... + extra-libs-$(OPTION_EGLIBC_LIBM) := libm Finally, common code in 'Makerules' cites the value of the variable -'routines-y', selecting only those object files that belong to enabled -option groups for inclusion in the resulting libraries. +'extra-libs-y', selecting only those libraries that belong to enabled +option groups to be built. Current Status and Future Directions |