summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-06-05 03:29:45 +0000
committerRoland McGrath <roland@gnu.org>1996-06-05 03:29:45 +0000
commit58e071515a45fb23bad4298512bb2951fe41dbc5 (patch)
tree7316b76d0f0512bc90f6b6b73c0304a6ecabed33 /math
parentee188d555b8c32ad9704a7440cab400af967292f (diff)
* math/Makefile (libm-support, libm-calls): New variables.
(libm-routines): Construct this from those. (calls): New variable. (routines): Construct this from it. * resolv/res_debug.c: Add missing #include <ctype.h>. * sysdeps/unix/getlogin.c: Must pass struct utmp ptr to getutline_r. * sysdeps/unix/getlogin_r.c: Likewise. * sysdeps/libm-ieee754/w_hypotl.c: Fix typo. * sysdeps/libm-ieee754/w_cabsl.c: __cabsl_complex -> __cabs_complexl * math/Makefile (long-m-routines): Define recursive variable as $(long-m-$(long-double-fcts)). (long-m-yes): Put list of routines here. (long-c-routines, long-c-yes): Likewise. * sysdeps/unix/sysv/linux/schedbits.h: File removed. * sysdeps/i386/Makefile (long-double-fcts): New variable, set to yes. * sysdeps/m68k/Makefile: Likewise. * math/Makefile [$(long-double-fcts)!=yes] (CPPFLAGS): Append -DNO_LONG_DOUBLE.
Diffstat (limited to 'math')
-rw-r--r--math/Makefile65
1 files changed, 28 insertions, 37 deletions
diff --git a/math/Makefile b/math/Makefile
index 730b5610e0..b3f49edf48 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -30,47 +30,31 @@ distribute := math_private.h machine/asm.h machine/endian.h
# Build the -lm library.
extra-libs := libm
-libm-routines = e_acos e_acosf e_acosh e_acoshf e_asin e_asinf \
- e_atan2 e_atan2f e_atanh e_atanhf e_cosh e_coshf \
- e_exp e_expf e_fmod e_fmodf e_hypot e_hypotf e_j0 \
- e_j0f e_j1 e_j1f e_jn e_jnf e_lgamma_r e_lgammaf_r \
- e_log e_log10 e_log10f e_logf e_pow e_powf \
- e_rem_pio2 e_rem_pio2f e_remainder e_remainderf \
- e_scalb e_scalbf e_sinh e_sinhf e_sqrt e_sqrtf k_cos \
- k_cosf k_rem_pio2 k_rem_pio2f k_sin k_sinf \
- k_standard k_tan k_tanf s_asinh s_asinhf s_atan \
- s_atanf s_cbrt s_cbrtf s_ceil s_ceilf s_copysign \
- s_copysignf s_cos s_cosf s_erf s_erff s_expm1 \
- s_expm1f s_fabs s_fabsf s_finite s_finitef s_floor \
- s_floorf s_frexp s_frexpf s_ilogb s_ilogbf \
- s_ldexp s_ldexpf s_lib_version s_log1p s_log1pf \
- s_logb s_logbf s_matherr s_modf s_modff s_nextafter \
- s_nextafterf s_rint s_rintf s_scalbn s_scalbnf \
- s_signgam s_significand s_significandf s_sin s_sinf \
- s_tan s_tanf s_tanh s_tanhf w_acos w_acosf w_acosh \
- w_acoshf w_asin w_asinf w_atan2 w_atan2f w_atanh \
- w_atanhf w_cabs w_cabsf w_cosh w_coshf w_drem \
- w_dremf w_exp w_expf w_fmod w_fmodf w_gamma \
- w_gamma_r w_gammaf w_gammaf_r w_hypot w_hypotf w_j0 \
- w_j0f w_j1 w_j1f w_jn w_jnf w_lgamma w_lgamma_r \
- w_lgammaf w_lgammaf_r w_log w_log10 w_log10f w_logf \
- w_pow w_powf w_remainder w_remainderf w_scalb \
- w_scalbf w_sinh w_sinhf w_sqrt w_sqrtf \
- $(long-m-routines)
-
-ifeq ($(long-double-fcts),yes)
-long-m-routines := s_ceill s_copysignl s_fabsl s_finitel s_floorl \
- s_nextafterl s_rintl s_significandl
-endif
+
+libm-support = k_standard s_lib_version s_matherr s_signgam
+libm-calls = e_acos e_acosh e_asin e_atan2 e_atanh e_cosh e_exp e_fmod \
+ e_hypot e_j0 e_j1 e_jn e_lgamma_r e_log e_log10 e_pow \
+ e_rem_pio2 e_remainder e_scalb e_sinh e_sqrt k_cos \
+ k_rem_pio2 k_sin k_tan s_asinh s_atan s_cbrt \
+ s_ceil s_copysign s_cos s_erf s_expm1 s_fabs s_finite \
+ s_floor s_frexp s_ilogb s_ldexp s_log1p s_logb \
+ s_modf s_nextafter s_rint s_scalbn s_significand \
+ s_sin s_tan s_tanh w_acos w_acosh w_asin \
+ w_atan2 w_atanh w_cabs w_cosh w_drem w_exp w_fmod w_gamma \
+ w_gamma_r w_hypot w_j0 w_j1 w_jn w_lgamma w_lgamma_r \
+ w_log w_log10 w_pow w_remainder w_scalb w_sinh w_sqrt
+libm-routines = $(libm-support) $(libm-calls) \
+ $(patsubst %_rf,%f_r,$(libm-calls:=f)) \
+ $(long-m-$(long-double-fcts))
+#long-m-yes = $(patsubst %_rl,%l_r,$(libm-calls:=l)) # not ready yet
+
# These functions are in libc instead of libm because __printf_fp
# calls them, so any program using printf will need them linked in,
# and we don't want to have to link every program with -lm.
-routines = s_isinf s_isinff s_isnan s_isnanf $(long-c-routines)
-
-ifeq ($(long-double-fcts),yes)
-long-c-routines := s_isinfl s_isnanl
-endif
+calls = s_isinf s_isnan
+routines = $(calls) $(calls:=f) $(long-c-$(long-double-fcts))
+long-c-yes = $(calls:=l)
include ../Rules
@@ -84,5 +68,12 @@ CPPFLAGS-s_lib_version.c := -D_POSIX_MODE
# only the fdlibm code.
CPPFLAGS += -D__NO_MATH_INLINES
+ifneq ($(long-double-fcts),yes)
+# The `double' and `long double' types are the same on this machine.
+# We won't compile the `long double' code at all. Tell the `double' code
+# to define aliases for the `FUNCl' names.
+CPPFLAGS += -DNO_LONG_DOUBLE
+endif
+
# The fdlibm code generates a lot of these warnings but is otherwise clean.
override CFLAGS += -Wno-uninitialized -Wno-write-strings