ax_check_quad_precision.m4 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. AC_DEFUN([CHECK_QUAD_PRECISION],
  2. ## Check for quadruple precision support. If found define
  3. ## HAVE_QUAD_PRECISION and add compiler flag to CFLAGS and
  4. ## CXXFLAGS.
  5. [AC_MSG_CHECKING([for quadruple precision support])
  6. XCFLAGS="$CFLAGS"
  7. XCXXFLAGS="$CXXFLAGS"
  8. XLIBS="$LIBS"
  9. cv_quad_prec=no
  10. if test "$cv_quad_prec" = no; then
  11. cv_quad_type=_Quad
  12. CFLAGS="$XCFLAGS -Qoption,cpp,--extended_float_type"
  13. CXXFLAGS="$XCXXFLAGS -Qoption,cpp,--extended_float_type"
  14. AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[$cv_quad_type q;]])],cv_quad_prec=yes, [])
  15. fi
  16. if test "$cv_quad_prec" = no; then
  17. cv_quad_type=__float128
  18. CFLAGS="$XCFLAGS"
  19. CXXFLAGS="$XCXXFLAGS"
  20. AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[$cv_quad_type q;]])],cv_quad_prec=yes, [])
  21. fi
  22. if test "$cv_quad_prec" = yes; then
  23. AC_MSG_RESULT($cv_quad_type)
  24. AC_DEFINE(HAVE_QUAD_PRECISON,1,[Define if compiler supports quadruple precision])
  25. AC_DEFINE_UNQUOTED(QUAD_T,$cv_quad_type,[Define if compiler supports quadruple precision])
  26. else
  27. AC_MSG_RESULT($cv_quad_prec)
  28. CFLAGS="$XCFLAGS"
  29. CXXFLAGS="$XCXXFLAGS"
  30. LIBS="$XLIBS"
  31. fi
  32. ])