ac_check_intel_offload.m4 1.9 KB

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