1996-03-06 05:41:30 +08:00
|
|
|
# Makefile for the math library.
|
|
|
|
|
|
|
|
# Copyright (C) 1996 Free Software Foundation, Inc.
|
1995-02-18 09:27:10 +08:00
|
|
|
# This file is part of the GNU C Library.
|
|
|
|
|
|
|
|
# The GNU C Library is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU Library General Public License as
|
|
|
|
# published by the Free Software Foundation; either version 2 of the
|
|
|
|
# License, or (at your option) any later version.
|
|
|
|
|
|
|
|
# The GNU C Library is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
# Library General Public License for more details.
|
|
|
|
|
|
|
|
# You should have received a copy of the GNU Library General Public
|
|
|
|
# License along with the GNU C Library; see the file COPYING.LIB. If
|
|
|
|
# not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
|
|
# Cambridge, MA 02139, USA.
|
|
|
|
|
1996-03-06 05:41:30 +08:00
|
|
|
subdir := math
|
|
|
|
|
|
|
|
# Installed header files.
|
1996-06-16 11:49:40 +08:00
|
|
|
headers := math.h mathcalls.h __math.h huge_val.h nan.h fpu_control.h
|
1996-03-06 05:41:30 +08:00
|
|
|
|
|
|
|
# Internal header files.
|
|
|
|
distribute := math_private.h machine/asm.h machine/endian.h
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1996-06-16 11:49:40 +08:00
|
|
|
# FPU support code.
|
|
|
|
aux := fpu_control setfpucw
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1996-03-06 05:41:30 +08:00
|
|
|
# Build the -lm library.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1996-03-06 05:41:30 +08:00
|
|
|
extra-libs := libm
|
1996-06-05 11:29:45 +08:00
|
|
|
|
|
|
|
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))
|
Fri Jun 7 16:48:13 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/i386/Dist: New file, list sys/perm.h and
sys/vm86.h.
Removed old math code no longer used since the fdlibm integration.
* sysdeps/stub/acos.c: File removed.
* sysdeps/stub/asin.c: File removed.
* sysdeps/stub/atan2.c: File removed.
* sysdeps/stub/cosh.c: File removed.
* sysdeps/stub/exp.c: File removed.
* sysdeps/stub/fmod.c: File removed.
* sysdeps/stub/frexp.c: File removed.
* sysdeps/stub/log.c: File removed.
* sysdeps/stub/log10.c: File removed.
* sysdeps/stub/sinh.c: File removed.
* sysdeps/stub/tan.c: File removed.
* sysdeps/stub/tanh.c: File removed.
* sysdeps/generic/acos.c: File removed.
* sysdeps/generic/acosh.c: File removed.
* sysdeps/generic/asin.c: File removed.
* sysdeps/generic/asinh.c: File removed.
* sysdeps/generic/atan.c: File removed.
* sysdeps/generic/atan2.c: File removed.
* sysdeps/generic/atanh.c: File removed.
* sysdeps/generic/cabs.c: File removed.
* sysdeps/generic/ceil.c: File removed.
* sysdeps/generic/copysign.c: File removed.
* sysdeps/generic/cosh.c: File removed.
* sysdeps/generic/exp.c: File removed.
* sysdeps/generic/expm1.c: File removed.
* sysdeps/generic/fabs.c: File removed.
* sysdeps/generic/floor.c: File removed.
* sysdeps/generic/fmod.c: File removed.
* sysdeps/generic/frexp.c: File removed.
* sysdeps/generic/hypot.c: File removed.
* sysdeps/generic/infnan.c: File removed.
* sysdeps/generic/isnan.c: File removed.
* sysdeps/generic/ldexp.c: File removed.
* sysdeps/generic/log.c: File removed.
* sysdeps/generic/log10.c: File removed.
* sysdeps/generic/log1p.c: File removed.
* sysdeps/generic/modf.c: File removed.
* sysdeps/generic/pow.c: File removed.
* sysdeps/generic/rint.c: File removed.
* sysdeps/generic/sinh.c: File removed.
* sysdeps/generic/tan.c: File removed.
* sysdeps/generic/tanh.c: File removed.
* sysdeps/ieee754/cabs.c: File removed.
* sysdeps/ieee754/copysign.c: File removed.
* sysdeps/ieee754/frexp.c: File removed.
* sysdeps/ieee754/hypot.c: File removed.
* sysdeps/ieee754/infnan.c: File removed.
* sysdeps/ieee754/ldexp.c: File removed.
* sysdeps/ieee754/log10.c: File removed.
* posix/Makefile (headers): Add schedbits.h.
* math/Makefile (elided-routines): Add long double routines.
Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/Dist: Add sys/sysinfo.h, sys/mount.h,
sys/kdaemon.h, sys/io.h, sys/mount.h, sysctl.c.
* gmon/Makefile (distribute): Add profil-counter.h.
* sysdeps/unix/sysv/linux/alpha/Dist: New file.
* sysdeps/unix/Dist: Add s-proto.S.
* sysdeps/unix/common/mk-local_lim.c: Obsolete file removed.
* Make-dist (+sysdep-tsrcs): Get all syscalls.list files too.
* csu/Makefile (distribute): Add start.c.
* elf/Makefile (distribute): Add dl-machine.h.
* sysdeps/alpha/Dist: Add _mcount.S.
* sysdeps/alpha/Makefile (sysdep_routines): Append instead of
resetting; don't add bb_init_func.
* string/Makefile (routines): Add strerror_r.
* string/string.h (strerror_r): Use int for BUFLEN arg.
* Makefile (distribute): Add shlib-versions.
* po/Makefile (distribute): Add SYS_libc.pot.
* misc/Makefile (routines): Add lsearch.
* manual/lang.texi (Consistency Checking): Merge in assert_perror defn
and other changes inadvertently made to the obsolete assert.texi.
* manual/assert.texi: File removed.
* mach/mach_syscalls.c: Obsolete file removed.
* mach/mach_syscalls.h: Likewise.
* mach/mach_traps.S: Likewise.
* mach/msg_destroy.c: Likewise.
* mach/vm_page_size.c: Likewise.
* locale/Makefile (distribute): Add weight.h, charset.h.
* Makefile (distribute): Add version.h.
* hurd/Makefile (headers): Add hurd/ioctl.h.
(distribute): Add intr-rpc.d, intr-rpc.h, faultexc.defs.
* csu/Makefile (distribute): Add gmon-start.c.
* Makefile (distribute): Add config.h.in.
sysdeps/m68k/fpu/e_atanhl.c, sysdeps/m68k/fpu/e_coshl.c: New files.
1996-06-08 05:18:34 +08:00
|
|
|
long-m-routines = $(patsubst %_rl,%l_r,$(libm-calls:=l)) # not ready yet
|
1996-06-09 13:25:25 +08:00
|
|
|
#long-m-yes = $(long-m-routines) # uncomment this when code works
|
|
|
|
#distribute += $(long-m-routines:=.c) # and this when at least all files exist
|
1996-06-05 11:29:45 +08:00
|
|
|
|
1996-03-06 05:41:30 +08:00
|
|
|
# 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.
|
1996-07-09 01:35:27 +08:00
|
|
|
calls = s_isinf s_isnan s_finite s_copysign s_modf s_scalbn
|
1996-07-06 18:54:55 +08:00
|
|
|
routines = $(calls) $(calls:=f) $(long-c-$(long-double-fcts)) \
|
1996-07-09 01:35:27 +08:00
|
|
|
s_frexp s_ldexp s_frexpf s_ldexpf
|
1996-06-05 11:29:45 +08:00
|
|
|
long-c-yes = $(calls:=l)
|
1996-06-09 13:25:25 +08:00
|
|
|
distribute += $(long-c-yes:=.c)
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
|
1996-06-16 17:31:23 +08:00
|
|
|
# The -lieee module sets the _LIB_VERSION_ switch to IEEE mode
|
|
|
|
# for error handling in the -lm functions.
|
|
|
|
install-lib += libieee.a
|
|
|
|
non-lib.a += libieee.a
|
|
|
|
extra-objs += libieee.a ieee-math.o
|
1996-06-19 13:38:55 +08:00
|
|
|
distribute += ieee-math.c
|
1996-06-16 17:31:23 +08:00
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
include ../Rules
|
|
|
|
|
1996-03-06 05:41:30 +08:00
|
|
|
|
|
|
|
# This file defines the default _LIB_VERSION variable that controls
|
|
|
|
# the error return conventions for the math functions.
|
|
|
|
CPPFLAGS-s_lib_version.c := -D_POSIX_MODE
|
|
|
|
|
Fri Apr 19 00:49:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/rpmatch.c (rpmatch: try): Take new arg NOMATCH, return value
for nonmatching nonerror (instead of !MATCH).
(rpmatch): Use it, so we return -1 when NOEXPR doesn't match either.
* resolv/getnetnamadr.c (getnetbyaddr): Use u_int32_t instead of
unsigned long for variable NET2.
* time/etcetera, time/europe, time/solar89: Updated from ADO's 96e.
Tue Apr 9 14:37:31 1996 Ulrich Drepper <drepper@cygnus.com>
* catgets/Makefile, catgets/catgets.c, catgets/catgetsinfo.h,
catgets/config.h, catgets/gencat.c, catgets/nl_types.h,
catgets/open_catalog.c: New files. Implementation of XPG4
compliant catgets() function and needed tools.
* Makefile (subdirs): Add catgets.
Thu Apr 18 23:36:11 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* math/Makefile (CPPFLAGS): Append -D__NO_MATH_INLINES.
Wed Apr 10 20:48:43 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfprintf.c: Correct some typos.
* sysdeps/libm-ieee754/w_gammaf.c, sysdeps/libm-ieee754/w_lgamma.c,
sysdeps/libm-ieee754/w_lgammaf.c: Reference signgam instead of
__signgam.
Thu Apr 18 21:07:27 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makerules (no-whole-archive): New variable.
(build-shlib): Use it.
* elf/Makefile (libdl.so): Use it.
* configure.in (libc_cv_ld_no_whole_archive): New check for
--no-whole-archive.
* config.make.in (have-no-whole-archive): New variable.
* stdio-common/printf_fp.c: Increase fudge factor for BIGNUM_SIZE calc
from 3 to 4.
* Make-dist: Include version.mk.
(version, release): Variables removed.
* Makeconfig (version.mk): New target.
Fri Apr 19 01:42:18 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/Makefile (headers): Add langinfo.h.
(CPPFLAGS): Remove -Iliblib.
1996-04-20 08:05:25 +08:00
|
|
|
# We don't want the fdlibm code to use the inline math functions,
|
|
|
|
# only the fdlibm code.
|
|
|
|
CPPFLAGS += -D__NO_MATH_INLINES
|
|
|
|
|
1996-06-05 11:29:45 +08:00
|
|
|
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
|
1996-07-09 01:35:27 +08:00
|
|
|
# to define aliases for the `FUNCl' names. To avoid type conflicts in
|
|
|
|
# defining those aliases, tell <math.h> to declare the `FUNCl' names with
|
|
|
|
# `double' instead of `long double'.
|
|
|
|
CPPFLAGS += -DNO_LONG_DOUBLE -D_Mlong_double_=double
|
1996-06-05 11:29:45 +08:00
|
|
|
endif
|
|
|
|
|
1996-03-06 05:41:30 +08:00
|
|
|
# The fdlibm code generates a lot of these warnings but is otherwise clean.
|
|
|
|
override CFLAGS += -Wno-uninitialized -Wno-write-strings
|
1996-06-16 17:31:23 +08:00
|
|
|
|
|
|
|
# The -lieee library is actually an object file.
|
|
|
|
# The module just defines the _LIB_VERSION_ variable.
|
|
|
|
# It's not a library to make sure it is linked in instead of s_lib_version.o.
|
|
|
|
$(objpfx)libieee.a: $(objpfx)ieee-math.o
|
|
|
|
rm -f $@
|
|
|
|
ln $< $@
|