12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- # SYNOPSIS
- #
- # CHECK_INTEL_OFFLOAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
- #
- AC_DEFUN([CHECK_INTEL_OFFLOAD], [
- ## Check for support of offload pragma and -no-offload flag. If
- ## found define HAVE_INTEL_OFFLOAD_PRAGMA, HAVE_INTEL_NOFFLOAD_FLAG and
- ## HAVE_INTEL_OFFLOAD.
- XCFLAGS="$CFLAGS"
- XCXXFLAGS="$CXXFLAGS"
- AC_LANG_WERROR([on])
- intel_offload_ok=no
- # check for offload pragma
- AC_MSG_CHECKING([for support of offload pragma])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
- ]], [[
- #pragma offload target(mic:0)
- ]])],intel_offload_pragma_ok=yes, intel_offload_pragma_ok=no)
- AC_MSG_RESULT($intel_offload_pragma_ok)
- # check for -no-offload flag
- AC_MSG_CHECKING([for support of -no-offload flag])
- CFLAGS="$CFLAGS -no-offload"
- CXXFLAGS="$CXXFLAGS -no-offload"
- AC_LANG_WERROR([on])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
- ]], [[
- #ifdef __INTEL_OFFLOAD
- #pragma offload target(mic:0)
- #endif
- ]])],intel_noffload_flag_ok=yes, intel_noffload_flag_ok=no)
- AC_MSG_RESULT($intel_noffload_flag_ok)
- # Substitute original values.
- AC_LANG_WERROR([off])
- CFLAGS="$XCFLAGS"
- CXXFLAGS="$XCXXFLAGS"
- # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
- if test x"$intel_offload_pragma_ok" = xyes; then
- AC_DEFINE(HAVE_INTEL_OFFLOAD_PRAGMA,1,[Define if you have INTEL_OFFLOAD_PRAGMA.])
- fi
- if test x"$intel_noffload_flag_ok" = xyes; then
- AC_DEFINE(HAVE_INTEL_NOFFLOAD_FLAG,1,[Define if you have INTEL_OFFLOAD.])
- if test x"$intel_offload_pragma_ok" = xyes; then
- AC_DEFINE(HAVE_INTEL_OFFLOAD,1,[Define if you have INTEL_OFFLOAD.])
- intel_offload_ok=yes
- else
- CFLAGS="$CFLAGS -no-offload"
- CXXFLAGS="$CXXFLAGS -no-offload"
- fi
- fi
- AC_SUBST(intel_offload_pragma_ok)
- AC_SUBST(intel_noffload_flag_ok)
- AC_SUBST(intel_offload_ok)
- ])
|