~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to m4/cxx_cmath.m4

  • Committer: Brian Aker
  • Date: 2008-11-04 15:39:09 UTC
  • mfrom: (575.1.2 devel)
  • Revision ID: brian@tangent.org-20081104153909-c72hn65udxs1ccal
Merge of Monty's work

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# We check two things: where the include file is for cmath. We
 
2
# include AC_TRY_COMPILE for all the combinations we've seen in the
 
3
# wild.  We define one of HAVE_CMATH or HAVE_TR1_CMATH or 
 
4
# HAVE_BOOST_CMATH depending
 
5
# on location.
 
6
 
 
7
m4_define([_AH_NEED_FUNCS],
 
8
[AC_FOREACH([AC_Func], [$1],
 
9
  [AH_TEMPLATE(AS_TR_CPP([NEED_]AC_Func),
 
10
    [Define to 1 if you need to build a local version of `]AC_Func[' function.])])])
 
11
 
 
12
AC_DEFUN([AC_CXX_CMATH],
 
13
  [AC_MSG_CHECKING(the location of cmath)
 
14
   AC_LANG_PUSH(C++)
 
15
   ac_cv_cxx_cmath=""
 
16
   ac_cv_cxx_cmath_namespace=""
 
17
   for location in tr1/cmath boost/cmath cmath; do
 
18
     for namespace in __gnu_cxx "" std stdext std::tr1; do
 
19
       if test -z "$ac_cv_cxx_cmath"; then
 
20
         AC_TRY_COMPILE([#include <$location>],
 
21
                        [$namespace::isfinite(1)],
 
22
                        [ac_cv_cxx_cmath="<$location>";
 
23
                         ac_cv_cxx_cmath_namespace="$namespace";])
 
24
       fi
 
25
    done
 
26
   done
 
27
   if test -n "$ac_cv_cxx_cmath"; then
 
28
      AC_MSG_RESULT([$ac_cv_cxx_cmath])
 
29
   else
 
30
      ac_cv_cxx_cmath="<math.h>"
 
31
      ac_cv_cxx_cmath_namespace=""
 
32
      AC_MSG_RESULT()
 
33
      AC_MSG_WARN([Could not find a cmath header.])
 
34
      
 
35
      _AH_NEED_FUNCS([isinf isnan isfinite])
 
36
      for ac_func in isinf isnan isfinite ; do
 
37
        AC_TRY_COMPILE([#include <math.h>],
 
38
                       [double x=1.0; $ac_func(x)],
 
39
                       [],[AC_DEFINE_UNQUOTED(AS_TR_CPP([NEED_$ac_func]))])
 
40
      done
 
41
   fi
 
42
   AC_DEFINE_UNQUOTED(CMATH_H,$ac_cv_cxx_cmath,
 
43
                      [the location of <cmath>])
 
44
   if test "x$ac_cv_cxx_cmath_namespace" != "x"
 
45
   then
 
46
     AC_DEFINE_UNQUOTED(CMATH_NAMESPACE,$ac_cv_cxx_cmath_namespace,
 
47
                        [the namespace of C99 math extensions])
 
48
   fi
 
49
   AC_LANG_POP()
 
50
])