diff options
Diffstat (limited to 'gcc-4.8.3/config/cloog.m4')
-rw-r--r-- | gcc-4.8.3/config/cloog.m4 | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/gcc-4.8.3/config/cloog.m4 b/gcc-4.8.3/config/cloog.m4 new file mode 100644 index 000000000..670cd652f --- /dev/null +++ b/gcc-4.8.3/config/cloog.m4 @@ -0,0 +1,152 @@ +# This file is part of GCC. +# +# GCC is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 3, or (at your option) any later +# version. +# +# GCC is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. +# +# Contributed by Andreas Simbuerger <simbuerg@fim.uni-passau.de> + +# CLOOG_INIT_FLAGS () +# ------------------------- +# Provide configure switches for CLooG support. +# Initialize clooglibs/clooginc according to the user input. +AC_DEFUN([CLOOG_INIT_FLAGS], +[ + AC_ARG_WITH([cloog-include], + [AS_HELP_STRING( + [--with-cloog-include=PATH], + [Specify directory for installed CLooG include files])]) + AC_ARG_WITH([cloog-lib], + [AS_HELP_STRING( + [--with-cloog-lib=PATH], + [Specify the directory for the installed CLooG library])]) + + AC_ARG_ENABLE(cloog-version-check, + [AS_HELP_STRING( + [--disable-cloog-version-check], + [disable check for CLooG version])], + ENABLE_CLOOG_CHECK=$enableval, + ENABLE_CLOOG_CHECK=yes) + + # Initialize clooglibs and clooginc. + case $with_cloog in + no) + clooglibs= + clooginc= + ;; + "" | yes) + ;; + *) + clooglibs="-L$with_cloog/lib" + clooginc="-I$with_cloog/include" + ;; + esac + if test "x${with_cloog_include}" != x ; then + clooginc="-I$with_cloog_include" + fi + if test "x${with_cloog_lib}" != x; then + clooglibs="-L$with_cloog_lib" + fi + dnl If no --with-cloog flag was specified and there is in-tree CLooG + dnl source, set up flags to use that and skip any version tests + dnl as we cannot run them reliably before building CLooG + if test "x${clooginc}" = x && test "x${clooglibs}" = x \ + && test -d ${srcdir}/cloog; then + clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' ' + clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -I'${srcdir}'/cloog/include ' + ENABLE_CLOOG_CHECK=no + AC_MSG_WARN([using in-tree CLooG, disabling version check]) + fi + + clooginc="-DCLOOG_INT_GMP ${clooginc}" + clooglibs="${clooglibs} -lcloog-isl ${isllibs} -lisl" +] +) + +# CLOOG_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT) +# ---------------------------------------------------- +# Provide actions for failed CLooG detection. +AC_DEFUN([CLOOG_REQUESTED], +[ + AC_REQUIRE([CLOOG_INIT_FLAGS]) + + if test "x${with_cloog}" = xno; then + $2 + elif test "x${with_cloog}" != x \ + || test "x${with_cloog_include}" != x \ + || test "x${with_cloog_lib}" != x ; then + $1 + else + $2 + fi +] +) + +# _CLOOG_CHECK_CT_PROG(MAJOR, MINOR, REVISION) +# -------------------------------------------- +# Helper for verifying CLooG's compile time version. +m4_define([_CLOOG_CHECK_CT_PROG],[AC_LANG_PROGRAM( + [#include "cloog/version.h"], + [#if CLOOG_VERSION_MAJOR != $1 \ + || CLOOG_VERSION_MINOR != $2 \ + || CLOOG_VERSION_REVISION < $3 + choke me + #endif])]) + +# CLOOG_CHECK_VERSION CLOOG_CHECK_VERSION (MAJOR, MINOR, REVISION) +# ---------------------------------------------------------------- +# Test the found CLooG to be exact of version MAJOR.MINOR and at least +# REVISION. +AC_DEFUN([CLOOG_CHECK_VERSION], +[ + AC_REQUIRE([CLOOG_INIT_FLAGS]) + + if test "${ENABLE_CLOOG_CHECK}" = yes ; then + _cloog_saved_CFLAGS=$CFLAGS + _cloog_saved_LDFLAGS=$LDFLAGS + + CFLAGS="${_cloog_saved_CFLAGS} ${clooginc} ${islinc} ${gmpinc}" + LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${isllibs} ${gmplib}" + + AC_MSG_CHECKING([for version $1.$2.$3 of CLooG]) + AC_COMPILE_IFELSE([_CLOOG_CHECK_CT_PROG($1,$2,$3)], + [gcc_cv_cloog=yes], + [gcc_cv_cloog=no]) + AC_MSG_RESULT([$gcc_cv_cloog]) + + CFLAGS=$_cloog_saved_CFLAGS + LDFLAGS=$_cloog_saved_LDFLAGS + fi +] +) + +# CLOOG_IF_FAILED (ACTION-IF-FAILED) +# ---------------------------------- +# Executes ACTION-IF-FAILED, if GRAPHITE was requested and +# the checks failed. +AC_DEFUN([CLOOG_IF_FAILED], +[ + CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no]) + + if test "${gcc_cv_cloog}" = no ; then + clooglibs= + clooginc= + fi + + if test "${graphite_requested}" = yes \ + && test "x${clooglibs}" = x \ + && test "x${clooginc}" = x ; then + $1 + fi +] +) |