1
  
2
  
3
  
4
  
5
  
6
  
7
  
8
  
9
  
10
  
11
  
12
  
13
  
14
  
15
  
16
  
17
  
18
  
19
  
20
  
21
  
22
  
23
  
24
  
25
  
26
  
27
  
28
  
29
  
30
  
31
  
32
  
33
  
34
  
35
  
36
  
37
  
38
  
39
  
40
  
41
  
42
  
43
  
44
  
45
  
46
  
47
  
48
  
49
  
50
  
51
  
52
  
53
  
54
  
55
  
56
  
57
  
58
  
59
  
60
  
61
  
62
  
AC_INIT(math.c) 
 
AC_CONFIG_HEADER(config.h) 
 
AC_MODULE_INIT() 
 
AC_CHECK_LIB(m, floor) 
if test "${ac_cv_lib_m}" = "no" -a "${pike_cv_sys_os}" = "Linux"; then 
  AC_MSG_WARN(I will compensate for this by adding -lc -lm) 
  LIBS="${LIBS} -lc -lm" 
fi 
 
AC_CHECK_HEADERS(ieeefp.h fp_class.h floatingpoint.h) 
 
AC_CHECK_FUNCS(asinh cosf fpsetmask fpsetround fpsetfastmode) 
 
# fpsetmask() is Broken on OpenBSD 3.2/alpha 
if test "x$ac_cv_func_fpsetmask" = "xyes"; then 
  AC_MSG_CHECKING(if fpsetmask works) 
  AC_CACHE_VAL(pike_cv_working_fpsetmask, [ 
    AC_TRY_RUN([ 
#ifdef HAVE_IEEEFP_H 
#include <ieeefp.h> 
#endif 
#ifdef HAVE_FP_CLASS_H 
#include <fp_class.h> 
#endif 
#ifdef HAVE_FLOATINGPOINT_H 
#include <floatingpoint.h> 
#endif 
int main(int argc, char **argv) 
{ 
  fpsetmask(0); 
  return 0; 
} 
    ],[pike_cv_working_fpsetmask=yes 
    ],[pike_cv_working_fpsetmask=no 
    ],[pike_cv_working_fpsetmask=yes 
    ]) 
  ]) 
  AC_MSG_RESULT($pike_cv_working_fpsetmask) 
  if test "x$pike_cv_working_fpsetmask" = "xyes"; then 
    AC_DEFINE(HAVE_WORKING_FPSETMASK) 
  fi 
fi 
 
AC_MSG_CHECKING(for FP_RZ) 
AC_CACHE_VAL(pike_cv_FP_RZ, [ 
  AC_TRY_LINK([ 
#include <math.h> 
  ], [ 
    fpsetround(FP_RZ); 
  ], [ pike_cv_FP_RZ=yes ], [ pike_cv_FP_RZ=no ]) 
]) 
if test "xpike_cv_FP_RZ" = "xyes"; then 
  AC_MSG_RESULT(yes) 
  AC_DEFINE(HAVE_FP_RZ) 
else 
  AC_MSG_RESULT(no) 
fi 
AC_OUTPUT(Makefile,echo FOO >stamp-h )