1# This file is part of GCC. 2# 3# GCC is free software; you can redistribute it and/or modify it under 4# the terms of the GNU General Public License as published by the Free 5# Software Foundation; either version 3, or (at your option) any later 6# version. 7# 8# GCC is distributed in the hope that it will be useful, but WITHOUT 9# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11# for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with GCC; see the file COPYING3. If not see 15# <http://www.gnu.org/licenses/>. 16# 17# Contributed by Andreas Simbuerger <simbuerg@fim.uni-passau.de> 18 19# CLOOG_INIT_FLAGS () 20# ------------------------- 21# Provide configure switches for CLooG support. 22# Initialize clooglibs/clooginc according to the user input. 23AC_DEFUN([CLOOG_INIT_FLAGS], 24[ 25 AC_ARG_WITH([cloog-include], 26 [AS_HELP_STRING( 27 [--with-cloog-include=PATH], 28 [Specify directory for installed CLooG include files])]) 29 AC_ARG_WITH([cloog-lib], 30 [AS_HELP_STRING( 31 [--with-cloog-lib=PATH], 32 [Specify the directory for the installed CLooG library])]) 33 34 AC_ARG_ENABLE(cloog-version-check, 35 [AS_HELP_STRING( 36 [--disable-cloog-version-check], 37 [disable check for CLooG version])], 38 ENABLE_CLOOG_CHECK=$enableval, 39 ENABLE_CLOOG_CHECK=yes) 40 41 # Initialize clooglibs and clooginc. 42 case $with_cloog in 43 no) 44 clooglibs= 45 clooginc= 46 ;; 47 "" | yes) 48 ;; 49 *) 50 clooglibs="-L$with_cloog/lib" 51 clooginc="-I$with_cloog/include" 52 ;; 53 esac 54 if test "x${with_cloog_include}" != x ; then 55 clooginc="-I$with_cloog_include" 56 fi 57 if test "x${with_cloog_lib}" != x; then 58 clooglibs="-L$with_cloog_lib" 59 fi 60 dnl If no --with-cloog flag was specified and there is in-tree CLooG 61 dnl source, set up flags to use that and skip any version tests 62 dnl as we cannot run them reliably before building CLooG 63 if test "x${clooginc}" = x && test "x${clooglibs}" = x \ 64 && test -d ${srcdir}/cloog; then 65 clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' ' 66 clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -I'${srcdir}'/cloog/include ' 67 ENABLE_CLOOG_CHECK=no 68 AC_MSG_WARN([using in-tree CLooG, disabling version check]) 69 fi 70 71 clooginc="-DCLOOG_INT_GMP ${clooginc}" 72 clooglibs="${clooglibs} -lcloog-isl ${isllibs} -lisl" 73] 74) 75 76# CLOOG_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT) 77# ---------------------------------------------------- 78# Provide actions for failed CLooG detection. 79AC_DEFUN([CLOOG_REQUESTED], 80[ 81 AC_REQUIRE([CLOOG_INIT_FLAGS]) 82 83 if test "x${with_cloog}" = xno; then 84 $2 85 elif test "x${with_cloog}" != x \ 86 || test "x${with_cloog_include}" != x \ 87 || test "x${with_cloog_lib}" != x ; then 88 $1 89 else 90 $2 91 fi 92] 93) 94 95# _CLOOG_CHECK_CT_PROG(MAJOR, MINOR, REVISION) 96# -------------------------------------------- 97# Helper for verifying CLooG's compile time version. 98m4_define([_CLOOG_CHECK_CT_PROG],[AC_LANG_PROGRAM( 99 [#include "cloog/version.h"], 100 [#if CLOOG_VERSION_MAJOR != $1 \ 101 || CLOOG_VERSION_MINOR != $2 \ 102 || CLOOG_VERSION_REVISION < $3 103 choke me 104 #endif])]) 105 106# CLOOG_CHECK_VERSION CLOOG_CHECK_VERSION (MAJOR, MINOR, REVISION) 107# ---------------------------------------------------------------- 108# Test the found CLooG to be exact of version MAJOR.MINOR and at least 109# REVISION. 110AC_DEFUN([CLOOG_CHECK_VERSION], 111[ 112 AC_REQUIRE([CLOOG_INIT_FLAGS]) 113 114 if test "${ENABLE_CLOOG_CHECK}" = yes ; then 115 _cloog_saved_CFLAGS=$CFLAGS 116 _cloog_saved_LDFLAGS=$LDFLAGS 117 118 CFLAGS="${_cloog_saved_CFLAGS} ${clooginc} ${islinc} ${gmpinc}" 119 LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${isllibs} ${gmplib}" 120 121 AC_MSG_CHECKING([for version $1.$2.$3 of CLooG]) 122 AC_COMPILE_IFELSE([_CLOOG_CHECK_CT_PROG($1,$2,$3)], 123 [gcc_cv_cloog=yes], 124 [gcc_cv_cloog=no]) 125 AC_MSG_RESULT([$gcc_cv_cloog]) 126 127 CFLAGS=$_cloog_saved_CFLAGS 128 LDFLAGS=$_cloog_saved_LDFLAGS 129 fi 130] 131) 132 133# CLOOG_IF_FAILED (ACTION-IF-FAILED) 134# ---------------------------------- 135# Executes ACTION-IF-FAILED, if GRAPHITE was requested and 136# the checks failed. 137AC_DEFUN([CLOOG_IF_FAILED], 138[ 139 CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no]) 140 141 if test "${gcc_cv_cloog}" = no ; then 142 clooglibs= 143 clooginc= 144 fi 145 146 if test "${graphite_requested}" = yes \ 147 && test "x${clooglibs}" = x \ 148 && test "x${clooginc}" = x ; then 149 $1 150 fi 151] 152) 153