| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | dnl -*- Autoconf -*-dnldnl Copyright (C) 2011 Institut National de Recherche en Informatique et Automatiquednldnl StarPU is free software; you can redistribute it and/or modifydnl it under the terms of the GNU Lesser General Public License as published bydnl the Free Software Foundation; either version 2.1 of the License, or (atdnl your option) any later version.dnldnl StarPU is distributed in the hope that it will be useful, butdnl WITHOUT ANY WARRANTY; without even the implied warranty ofdnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.dnldnl See the GNU Lesser General Public License in COPYING.LGPL for more details.dnl Run its argument with CPPFLAGS pointing to GCC's plug-in API.AC_DEFUN([_STARPU_WITH_GCC_PLUGIN_API], [  GCC_PLUGIN_INCLUDE_DIR="`"$CC" -print-file-name=plugin`/include"  save_CPPFLAGS="$CPPFLAGS"  CPPFLAGS="-I$GCC_PLUGIN_INCLUDE_DIR"  $1  CPPFLAGS="$save_CPPFLAGS"])dnl Check whether GCC plug-in support is available (GCC 4.5+).AC_DEFUN([STARPU_GCC_PLUGIN_SUPPORT], [  AC_REQUIRE([AC_PROG_CC])  AC_CACHE_CHECK([whether GCC supports plug-ins], [ac_cv_have_gcc_plugins], [    if test "x$GCC" = xyes; then      _STARPU_WITH_GCC_PLUGIN_API([	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <gcc-plugin.h>	      #include <tree.h>	      #include <gimple.h>	      tree fndecl; gimple call;]],	    [[fndecl = lookup_name (get_identifier ("puts"));	      call = gimple_build_call (fndecl, 0);]])],	  [ac_cv_have_gcc_plugins="yes"],	  [ac_cv_have_gcc_plugins="no"])      ])    else      ac_cv_have_gcc_plugins="no"    fi  ])  if test "x$ac_cv_have_gcc_plugins" = "xyes"; then    dnl Check for specific features.    dnl    dnl Reason:    dnl   build_call_expr_loc_array -- not in GCC 4.5.x; appears in 4.6    dnl   build_call_expr_loc_vec   -- likewise    dnl   build_array_ref           -- present but undeclared in 4.6.1    _STARPU_WITH_GCC_PLUGIN_API([      AC_CHECK_DECLS([build_call_expr_loc_array, build_call_expr_loc_vec,                      build_array_ref],        [], [], [#include <gcc-plugin.h>	         #include <tree.h>])      dnl Work around header naming issues introduced upstream and in Debian      dnl (see <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=631082>).      AC_CHECK_HEADERS([c-common.h c-pragma.h c-family/c-common.h c-family/c-pragma.h],        [], [], [#include <gcc-plugin.h>	         #include <tree.h>])    ])  fi  AC_SUBST([GCC_PLUGIN_INCLUDE_DIR])])
 |