annotate m4/expm1l.m4 @ 17363:5a51fb7777a9

sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin Problem reported by Marco Atzeri in <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>. * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]: Simply delegate to the system <sys/select.h> in this case too. Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to be needed on Solaris either. * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]: Simply delgate to the system <sys/time.h> in this case.
author Paul Eggert <eggert@cs.ucla.edu>
date Tue, 19 Mar 2013 09:08:47 -0700
parents e542fd46ad6f
children 344018b6e5d7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16606
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
1 # expm1l.m4 serial 2
17249
e542fd46ad6f maint: update all copyright year number ranges
Eric Blake <eblake@redhat.com>
parents: 16606
diff changeset
2 dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
16585
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
3 dnl This file is free software; the Free Software Foundation
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
4 dnl gives unlimited permission to copy and/or distribute it,
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
5 dnl with or without modifications, as long as this notice is preserved.
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
6
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
7 AC_DEFUN([gl_FUNC_EXPM1L],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
8 [
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
9 AC_REQUIRE([gl_MATH_H_DEFAULTS])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
10 AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
11
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
12 dnl Persuade glibc <math.h> to declare expm1l().
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
13 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
14
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
15 EXPM1L_LIBM=
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
16 AC_CACHE_CHECK([whether expm1l() can be used without linking with libm],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
17 [gl_cv_func_expm1l_no_libm],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
18 [
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
19 AC_LINK_IFELSE(
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
20 [AC_LANG_PROGRAM(
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
21 [[#ifndef __NO_MATH_INLINES
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
22 # define __NO_MATH_INLINES 1 /* for glibc */
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
23 #endif
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
24 #include <math.h>
16606
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
25 extern
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
26 #ifdef __cplusplus
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
27 "C"
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
28 #endif
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
29 long double expm1l (long double);
16585
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
30 long double (*funcptr) (long double) = expm1l;
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
31 long double x;]],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
32 [[return funcptr (x) > 0.5
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
33 || expm1l (x) > 0.5;]])],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
34 [gl_cv_func_expm1l_no_libm=yes],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
35 [gl_cv_func_expm1l_no_libm=no])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
36 ])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
37 if test $gl_cv_func_expm1l_no_libm = no; then
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
38 AC_CACHE_CHECK([whether expm1l() can be used with libm],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
39 [gl_cv_func_expm1l_in_libm],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
40 [
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
41 save_LIBS="$LIBS"
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
42 LIBS="$LIBS -lm"
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
43 AC_LINK_IFELSE(
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
44 [AC_LANG_PROGRAM(
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
45 [[#ifndef __NO_MATH_INLINES
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
46 # define __NO_MATH_INLINES 1 /* for glibc */
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
47 #endif
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
48 #include <math.h>
16606
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
49 extern
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
50 #ifdef __cplusplus
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
51 "C"
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
52 #endif
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
53 long double expm1l (long double);
16585
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
54 long double (*funcptr) (long double) = expm1l;
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
55 long double x;]],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
56 [[return funcptr (x) > 0.5
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
57 || expm1l (x) > 0.5;]])],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
58 [gl_cv_func_expm1l_in_libm=yes],
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
59 [gl_cv_func_expm1l_in_libm=no])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
60 LIBS="$save_LIBS"
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
61 ])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
62 if test $gl_cv_func_expm1l_in_libm = yes; then
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
63 EXPM1L_LIBM=-lm
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
64 fi
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
65 fi
16606
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
66 if test $gl_cv_func_expm1l_no_libm = yes \
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
67 || test $gl_cv_func_expm1l_in_libm = yes; then
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
68 HAVE_EXPM1L=1
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
69 dnl Also check whether it's declared.
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
70 dnl IRIX 6.5 has expm1l() in libm but doesn't declare it in <math.h>.
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
71 AC_CHECK_DECL([expm1l], , [HAVE_DECL_EXPM1L=0], [[#include <math.h>]])
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
72 else
16585
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
73 HAVE_EXPM1L=0
16606
c65f617394a7 expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents: 16585
diff changeset
74 HAVE_DECL_EXPM1L=0
16585
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
75 dnl Find libraries needed to link lib/expm1l.c.
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
76 if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
77 AC_REQUIRE([gl_FUNC_EXPM1])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
78 EXPM1L_LIBM="$EXPM1_LIBM"
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
79 else
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
80 AC_REQUIRE([gl_FUNC_ISNANL])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
81 AC_REQUIRE([gl_FUNC_EXPL])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
82 AC_REQUIRE([gl_FUNC_ROUNDL])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
83 AC_REQUIRE([gl_FUNC_LDEXPL])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
84 EXPM1L_LIBM=
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
85 dnl Append $ISNANL_LIBM to EXPM1L_LIBM, avoiding gratuitous duplicates.
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
86 case " $EXPM1L_LIBM " in
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
87 *" $ISNANL_LIBM "*) ;;
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
88 *) EXPM1L_LIBM="$EXPM1L_LIBM $ISNANL_LIBM" ;;
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
89 esac
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
90 dnl Append $EXPL_LIBM to EXPM1L_LIBM, avoiding gratuitous duplicates.
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
91 case " $EXPM1L_LIBM " in
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
92 *" $EXPL_LIBM "*) ;;
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
93 *) EXPM1L_LIBM="$EXPM1L_LIBM $EXPL_LIBM" ;;
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
94 esac
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
95 dnl Append $ROUNDL_LIBM to EXPM1L_LIBM, avoiding gratuitous duplicates.
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
96 case " $EXPM1L_LIBM " in
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
97 *" $ROUNDL_LIBM "*) ;;
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
98 *) EXPM1L_LIBM="$EXPM1L_LIBM $ROUNDL_LIBM" ;;
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
99 esac
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
100 dnl Append $LDEXPL_LIBM to EXPM1L_LIBM, avoiding gratuitous duplicates.
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
101 case " $EXPM1L_LIBM " in
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
102 *" $LDEXPL_LIBM "*) ;;
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
103 *) EXPM1L_LIBM="$EXPM1L_LIBM $LDEXPL_LIBM" ;;
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
104 esac
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
105 fi
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
106 fi
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
107 AC_SUBST([EXPM1L_LIBM])
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
108 ])