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 Richard Guenther <rguenther@suse.de> 18# Based on cloog.m4 19 20# ISL_INIT_FLAGS () 21# ------------------------- 22# Provide configure switches for isl support. 23# Initialize isllibs/islinc according to the user input. 24AC_DEFUN([ISL_INIT_FLAGS], 25[ 26 AC_ARG_WITH([isl-include], 27 [AS_HELP_STRING( 28 [--with-isl-include=PATH], 29 [Specify directory for installed isl include files])]) 30 AC_ARG_WITH([isl-lib], 31 [AS_HELP_STRING( 32 [--with-isl-lib=PATH], 33 [Specify the directory for the installed isl library])]) 34 35 AC_ARG_ENABLE(isl-version-check, 36 [AS_HELP_STRING( 37 [--disable-isl-version-check], 38 [disable check for isl version])], 39 ENABLE_ISL_CHECK=$enableval, 40 ENABLE_ISL_CHECK=yes) 41 42 # Initialize isllibs and islinc. 43 case $with_isl in 44 no) 45 isllibs= 46 islinc= 47 ;; 48 "" | yes) 49 ;; 50 *) 51 isllibs="-L$with_isl/lib" 52 islinc="-I$with_isl/include" 53 ;; 54 esac 55 if test "x${with_isl_include}" != x ; then 56 islinc="-I$with_isl_include" 57 fi 58 if test "x${with_isl_lib}" != x; then 59 isllibs="-L$with_isl_lib" 60 fi 61 dnl If no --with-isl flag was specified and there is in-tree isl 62 dnl source, set up flags to use that and skip any version tests 63 dnl as we cannot run them before building isl. 64 if test "x${islinc}" = x && test "x${isllibs}" = x \ 65 && test -d ${srcdir}/isl; then 66 isllibs='-L$$r/$(HOST_SUBDIR)/isl/'"$lt_cv_objdir"' ' 67 islinc='-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include' 68 ENABLE_ISL_CHECK=no 69 AC_MSG_WARN([using in-tree isl, disabling version check]) 70 fi 71 72 isllibs="${isllibs} -lisl" 73] 74) 75 76# ISL_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT) 77# ---------------------------------------------------- 78# Provide actions for failed isl detection. 79AC_DEFUN([ISL_REQUESTED], 80[ 81 AC_REQUIRE([ISL_INIT_FLAGS]) 82 83 if test "x${with_isl}" = xno; then 84 $2 85 elif test "x${with_isl}" != x \ 86 || test "x${with_isl_include}" != x \ 87 || test "x${with_isl_lib}" != x ; then 88 $1 89 else 90 $2 91 fi 92] 93) 94 95# ISL_CHECK_VERSION ISL_CHECK_VERSION () 96# ---------------------------------------------------------------- 97# Test whether isl contains functionality added to the minimum expected version. 98AC_DEFUN([ISL_CHECK_VERSION], 99[ 100 if test "${ENABLE_ISL_CHECK}" = yes ; then 101 _isl_saved_CFLAGS=$CFLAGS 102 _isl_saved_LDFLAGS=$LDFLAGS 103 _isl_saved_LIBS=$LIBS 104 105 CFLAGS="${_isl_saved_CFLAGS} ${islinc} ${gmpinc}" 106 LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs} ${gmplibs}" 107 LIBS="${_isl_saved_LIBS} -lisl -lgmp" 108 109 AC_MSG_CHECKING([for isl 0.16, 0.15, or deprecated 0.14]) 110 AC_TRY_LINK([#include <isl/ctx.h>], 111 [isl_ctx_get_max_operations (isl_ctx_alloc ());], 112 [gcc_cv_isl=yes], 113 [gcc_cv_isl=no]) 114 AC_MSG_RESULT([$gcc_cv_isl]) 115 116 if test "${gcc_cv_isl}" = no ; then 117 AC_MSG_RESULT([recommended isl version is 0.16 or 0.15, the minimum required isl version 0.14 is deprecated]) 118 fi 119 120 AC_MSG_CHECKING([for isl 0.16 or 0.15]) 121 AC_TRY_LINK([#include <isl/schedule.h>], 122 [isl_options_set_schedule_serialize_sccs (NULL, 0);], 123 [ac_has_isl_options_set_schedule_serialize_sccs=yes], 124 [ac_has_isl_options_set_schedule_serialize_sccs=no]) 125 AC_MSG_RESULT($ac_has_isl_options_set_schedule_serialize_sccs) 126 127 if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then 128 islver="0.15" 129 AC_SUBST([islver]) 130 fi 131 132 CFLAGS=$_isl_saved_CFLAGS 133 LDFLAGS=$_isl_saved_LDFLAGS 134 LIBS=$_isl_saved_LIBS 135 fi 136] 137) 138 139# ISL_IF_FAILED (ACTION-IF-FAILED) 140# ---------------------------------- 141# Executes ACTION-IF-FAILED, if GRAPHITE was requested and 142# the checks failed. 143AC_DEFUN([ISL_IF_FAILED], 144[ 145 ISL_REQUESTED([graphite_requested=yes], [graphite_requested=no]) 146 147 if test "${gcc_cv_isl}" = no ; then 148 isllibs= 149 islinc= 150 fi 151 152 if test "${graphite_requested}" = yes \ 153 && test "x${isllibs}" = x \ 154 && test "x${islinc}" = x ; then 155 $1 156 fi 157] 158) 159