summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjimb <jimb@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2007-03-31 20:50:50 +0000
committerjimb <jimb@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2007-03-31 20:50:50 +0000
commitb5ceda030c7184d34366e929d0b1a4c1fba77490 (patch)
tree51bedc758aff883ec00ef5cf1fc39441db5730d5
parentf61bf664237fb6fe60ddaae76764dc3d3e70a05a (diff)
downloadeglibc2-b5ceda030c7184d34366e929d0b1a4c1fba77490.tar.gz
Add the OPTION_EGLIBC_LIBM option group.
* option-groups.def (OPTION_EGLIBC_LIBM): New entry. * option-groups.defaults (OPTION_EGLIBC_LIBM): Set default value. * math/Makefile: include ../option-groups.mak. Add libm to OPTION_EGLIBC_LIBM option group. * Makerules (extra-libs, extra-libs-others): Let option groups control these values, too. git-svn-id: svn://svn.eglibc.org/branches/eglibc-2_5@1861 7b3dc134-2b1b-0410-93df-9e9f96275f8d
-rw-r--r--libc/ChangeLog.eglibc10
-rw-r--r--libc/Makerules18
-rw-r--r--libc/math/Makefile6
-rw-r--r--libc/option-groups.def18
-rw-r--r--libc/option-groups.defaults1
5 files changed, 43 insertions, 10 deletions
diff --git a/libc/ChangeLog.eglibc b/libc/ChangeLog.eglibc
index 65e8123d3..f6b719e98 100644
--- a/libc/ChangeLog.eglibc
+++ b/libc/ChangeLog.eglibc
@@ -1,3 +1,13 @@
+2007-03-31 Jim Blandy <jimb@codesourcery.com>
+
+ Add the OPTION_EGLIBC_LIBM option group.
+ * option-groups.def (OPTION_EGLIBC_LIBM): New entry.
+ * option-groups.defaults (OPTION_EGLIBC_LIBM): Set default value.
+ * math/Makefile: include ../option-groups.mak.
+ Add libm to OPTION_EGLIBC_LIBM option group.
+ * Makerules (extra-libs, extra-libs-others): Let option groups
+ control these values, too.
+
2007-03-22 Jim Blandy <jimb@codesourcery.com>
Run tests that set LD_PRELOAD properly, even when
diff --git a/libc/Makerules b/libc/Makerules
index 6443df599..25b6cc599 100644
--- a/libc/Makerules
+++ b/libc/Makerules
@@ -406,14 +406,16 @@ endef
endif
# Include targets in the selected option groups.
-routines += $(routines-y)
-others += $(others-y)
-install-bin += $(install-bin-y)
-install-sbin += $(install-sbin-y)
-extra-objs += $(extra-objs-y)
-tests += $(tests-y)
-xtests += $(xtests-y)
-test-srcs += $(test-srcs-y)
+routines += $(routines-y)
+others += $(others-y)
+extra-libs += $(extra-libs-y)
+extra-libs-others += $(extra-libs-others-y)
+install-bin += $(install-bin-y)
+install-sbin += $(install-sbin-y)
+extra-objs += $(extra-objs-y)
+tests += $(tests-y)
+xtests += $(xtests-y)
+test-srcs += $(test-srcs-y)
# Modify the list of routines we build for different targets
diff --git a/libc/math/Makefile b/libc/math/Makefile
index 1ab1b13b0..b463ec9c0 100644
--- a/libc/math/Makefile
+++ b/libc/math/Makefile
@@ -21,6 +21,8 @@
subdir := math
+include ../option-groups.mak
+
# Installed header files.
headers := math.h bits/mathcalls.h bits/mathinline.h bits/huge_val.h \
bits/huge_valf.h bits/huge_vall.h bits/inf.h bits/nan.h \
@@ -35,8 +37,8 @@ aux := setfpucw fpu_control
# Build the -lm library.
-extra-libs := libm
-extra-libs-others = $(extra-libs)
+extra-libs-$(OPTION_EGLIBC_LIBM) := libm
+extra-libs-others-$(OPTION_EGLIBC_LIBM) = $(extra-libs-$(OPTION_EGLIBC_LIBM))
libm-support = k_standard s_lib_version s_matherr s_signgam \
fclrexcpt fgetexcptflg fraiseexcpt fsetexcptflg \
diff --git a/libc/option-groups.def b/libc/option-groups.def
index 395bc5a61..a43d1b9a5 100644
--- a/libc/option-groups.def
+++ b/libc/option-groups.def
@@ -49,3 +49,21 @@ config OPTION_EGLIBC_LOCALES
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 OPTION_EGLIBC_LIBM
+ bool "libm (math library)"
+ 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.
diff --git a/libc/option-groups.defaults b/libc/option-groups.defaults
index 9e1519117..1773f8363 100644
--- a/libc/option-groups.defaults
+++ b/libc/option-groups.defaults
@@ -10,3 +10,4 @@
# By default, all option groups are enabled.
OPTION_EGLIBC_CATGETS = y
OPTION_EGLIBC_LOCALES = y
+OPTION_EGLIBC_LIBM = y