summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2011-10-11 11:13:24 +0200
committerBruno Haible <bruno@clisp.org>2011-10-11 11:14:30 +0200
commit1f5817b9653bcf4e6ad534ce36df9a10c6f5fb6e (patch)
tree9e14b35f4b1999f2c417c5f53213c266278bfaac /m4
parent6e33eaed1cd5ddcdfc48476059012fed68f71f8e (diff)
downloadgnulib-1f5817b9653bcf4e6ad534ce36df9a10c6f5fb6e.tar.gz
asinl: Simplify for platforms where 'long double' == 'double'.
* lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative implementation. * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE. Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. * modules/asinl (Depends-on): Add asin. Update conditions.
Diffstat (limited to 'm4')
-rw-r--r--m4/asinl.m421
1 files changed, 14 insertions, 7 deletions
diff --git a/m4/asinl.m4 b/m4/asinl.m4
index 2df2663259..cef97a245c 100644
--- a/m4/asinl.m4
+++ b/m4/asinl.m4
@@ -1,4 +1,4 @@
-# asinl.m4 serial 5
+# asinl.m4 serial 6
dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_FUNC_ASINL],
[
AC_REQUIRE([gl_MATH_H_DEFAULTS])
+ AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
+
dnl Persuade glibc <math.h> to declare asinl().
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
@@ -56,12 +58,17 @@ AC_DEFUN([gl_FUNC_ASINL],
HAVE_DECL_ASINL=0
HAVE_ASINL=0
dnl Find libraries needed to link lib/asinl.c.
- AC_REQUIRE([gl_FUNC_SQRTL])
- dnl Append $SQRTL_LIBM to ASINL_LIBM, avoiding gratuitous duplicates.
- case " $ASINL_LIBM " in
- *" $SQRTL_LIBM "*) ;;
- *) ASINL_LIBM="$ASINL_LIBM $SQRTL_LIBM" ;;
- esac
+ if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then
+ AC_REQUIRE([gl_FUNC_ASIN])
+ ASINL_LIBM="$ASIN_LIBM"
+ else
+ AC_REQUIRE([gl_FUNC_SQRTL])
+ dnl Append $SQRTL_LIBM to ASINL_LIBM, avoiding gratuitous duplicates.
+ case " $ASINL_LIBM " in
+ *" $SQRTL_LIBM "*) ;;
+ *) ASINL_LIBM="$ASINL_LIBM $SQRTL_LIBM" ;;
+ esac
+ fi
fi
AC_SUBST([ASINL_LIBM])
])