diff options
author | dgp <dgp@users.sourceforge.net> | 2018-02-15 15:08:17 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2018-02-15 15:08:17 (GMT) |
commit | dda81853f3711f64164099578a14632f549f086a (patch) | |
tree | 944418bebbf4be5ef100a3adf7228d0fefbe5791 /unix | |
parent | 919808c6a556bf33b5233caf77248456d309df8a (diff) | |
download | tcl-dda81853f3711f64164099578a14632f549f086a.zip tcl-dda81853f3711f64164099578a14632f549f086a.tar.gz tcl-dda81853f3711f64164099578a14632f549f086a.tar.bz2 |
Stop seeking out the libieee.a library and linking to it when found.
The latest release of the GNU C library, glibc-2.27 has done away with
the libieee.a library. This prompts a review of why Tcl has been using it.
Since Tcl 8.4.0, Tcl has stopped using the matherr() machinery, so we don't
need it anymore for that.
Since Tcl 8.5.0, Tcl post-processes ERANGE for itself when floating point
underflow or overflow can sensibly produce a 0.0 or Inf result instead of
raising an error. We no longer need to configure the system math library to
silence these reports.
A conseqeunce of this change is that TCL_LIBS will no longer include the
linker option -lieee . This can potentially change the behavior of programs
that embed libtcl. If so, though, those same programs are going to also have
behavior changed as the new glibc release gets into routine use. We're doing
those programs a favor by stopping masking the discovery that they need to
be updated.
Diffstat (limited to 'unix')
-rwxr-xr-x | unix/configure | 64 | ||||
-rw-r--r-- | unix/tcl.m4 | 3 |
2 files changed, 0 insertions, 67 deletions
diff --git a/unix/configure b/unix/configure index 3d7fbf4..7d7f002 100755 --- a/unix/configure +++ b/unix/configure @@ -4840,8 +4840,6 @@ _ACEOF #-------------------------------------------------------------------- # On a few very rare systems, all of the libm.a stuff is # already in libc.a. Set compiler flags accordingly. - # Also, Linux requires the "ieee" library for math to work - # right (and it must appear before "-lm"). #-------------------------------------------------------------------- echo "$as_me:$LINENO: checking for sin" >&5 @@ -4940,68 +4938,6 @@ else MATH_LIBS="-lm" fi - echo "$as_me:$LINENO: checking for main in -lieee" >&5 -echo $ECHO_N "checking for main in -lieee... $ECHO_C" >&6 -if test "${ac_cv_lib_ieee_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lieee $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_ieee_main=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_ieee_main=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ieee_main" >&5 -echo "${ECHO_T}$ac_cv_lib_ieee_main" >&6 -if test $ac_cv_lib_ieee_main = yes; then - MATH_LIBS="-lieee $MATH_LIBS" -fi - #-------------------------------------------------------------------- # Interactive UNIX requires -linet instead of -lsocket, plus it diff --git a/unix/tcl.m4 b/unix/tcl.m4 index 6ca2047..3535a1b 100644 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 @@ -2470,12 +2470,9 @@ AC_DEFUN([SC_TCL_LINK_LIBS], [ #-------------------------------------------------------------------- # On a few very rare systems, all of the libm.a stuff is # already in libc.a. Set compiler flags accordingly. - # Also, Linux requires the "ieee" library for math to work - # right (and it must appear before "-lm"). #-------------------------------------------------------------------- AC_CHECK_FUNC(sin, MATH_LIBS="", MATH_LIBS="-lm") - AC_CHECK_LIB(ieee, main, [MATH_LIBS="-lieee $MATH_LIBS"]) #-------------------------------------------------------------------- # Interactive UNIX requires -linet instead of -lsocket, plus it |