ac_check_intel_offload.m4 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. AC_DEFUN([CHECK_INTEL_OFFLOAD], [
  2. ## Check for support of offload pragma and -no-offload flag. If
  3. ## found define HAVE_INTEL_OFFLOAD_PRAGMA, HAVE_INTEL_NOFFLOAD_FLAG and
  4. ## HAVE_INTEL_OFFLOAD.
  5. XCFLAGS="$CFLAGS"
  6. XCXXFLAGS="$CXXFLAGS"
  7. AC_LANG_WERROR([on])
  8. intel_offload_ok=no
  9. # check for offload pragma
  10. AC_MSG_CHECKING([for support of offload pragma])
  11. AC_LINK_IFELSE([AC_LANG_PROGRAM([[
  12. ]], [[
  13. #pragma offload target(mic:0)
  14. ]])],intel_offload_pragma_ok=yes, intel_offload_pragma_ok=no)
  15. AC_MSG_RESULT($intel_offload_pragma_ok)
  16. # check for -no-offload flag
  17. AC_MSG_CHECKING([for support of -no-offload flag])
  18. CFLAGS="$CFLAGS -no-offload"
  19. CXXFLAGS="$CXXFLAGS -no-offload"
  20. AC_LANG_WERROR([on])
  21. AC_LINK_IFELSE([AC_LANG_PROGRAM([[
  22. ]], [[
  23. #ifdef __INTEL_OFFLOAD
  24. #pragma offload target(mic:0)
  25. #endif
  26. ]])],intel_noffload_flag_ok=yes, intel_noffload_flag_ok=no)
  27. AC_MSG_RESULT($intel_noffload_flag_ok)
  28. # Substitute original values.
  29. AC_LANG_WERROR([off])
  30. CFLAGS="$XCFLAGS"
  31. CXXFLAGS="$XCXXFLAGS"
  32. ARFLAGS="$AR_FLAGS"
  33. if test x"$intel_offload_pragma_ok" = xyes; then
  34. AC_DEFINE(HAVE_INTEL_OFFLOAD_PRAGMA,1,[Define if you have INTEL_OFFLOAD_PRAGMA.])
  35. fi
  36. if test x"$intel_noffload_flag_ok" = xyes; then
  37. AC_DEFINE(HAVE_INTEL_NOFFLOAD_FLAG,1,[Define if you have INTEL_OFFLOAD.])
  38. if test x"$intel_offload_pragma_ok" = xyes; then
  39. AC_DEFINE(HAVE_INTEL_OFFLOAD,1,[Define if you have INTEL_OFFLOAD.])
  40. intel_offload_ok=yes
  41. AR="xiar"
  42. ARFLAGS="cru -qoffload-build"
  43. else
  44. CFLAGS="$CFLAGS -no-offload"
  45. CXXFLAGS="$CXXFLAGS -no-offload"
  46. fi
  47. fi
  48. AC_SUBST(intel_offload_pragma_ok)
  49. AC_SUBST(intel_noffload_flag_ok)
  50. AC_SUBST(intel_offload_ok)
  51. AC_SUBST(ARFLAGS)
  52. AC_SUBST(AR)
  53. ])