ax_check_quad_precision.m4 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[$cv_quad_type q;]])],cv_quad_prec=yes, [])
  19. fi
  20. if test "$cv_quad_prec" = yes; then
  21. AC_MSG_RESULT($cv_quad_type)
  22. AC_DEFINE(HAVE_QUAD_PRECISON,1,[Define if compiler supports quadruple precision])
  23. AC_DEFINE_UNQUOTED(QUAD_T,$cv_quad_type,[Define if compiler supports quadruple precision])
  24. else
  25. AC_MSG_RESULT($cv_quad_prec)
  26. CFLAGS="$XCFLAGS"
  27. CXXFLAGS="$XCXXFLAGS"
  28. LIBS="$XLIBS"
  29. fi
  30. ])