* config/rs6000/rs6000.c (altivec_expand_lv_builtin): Do not use switch
[official-gcc.git] / config / isl.m4
blob92524af32db380f790da32fe775450ee5de38319
1 # This file is part of GCC.
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.
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.
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/>.
17 # Contributed by Richard Guenther <rguenther@suse.de>
18 # Based on cloog.m4
20 # ISL_INIT_FLAGS ()
21 # -------------------------
22 # Provide configure switches for isl support.
23 # Initialize isllibs/islinc according to the user input.
24 AC_DEFUN([ISL_INIT_FLAGS],
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])])
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
72   isllibs="${isllibs} -lisl"
76 # ISL_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT)
77 # ----------------------------------------------------
78 # Provide actions for failed isl detection.
79 AC_DEFUN([ISL_REQUESTED],
81   AC_REQUIRE([ISL_INIT_FLAGS])
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
95 # ISL_CHECK_VERSION ISL_CHECK_VERSION ()
96 # ----------------------------------------------------------------
97 # Test whether isl contains functionality added to the minimum expected version.
98 AC_DEFUN([ISL_CHECK_VERSION],
100   if test "${ENABLE_ISL_CHECK}" = yes ; then
101     _isl_saved_CFLAGS=$CFLAGS
102     _isl_saved_LDFLAGS=$LDFLAGS
103     _isl_saved_LIBS=$LIBS
105     CFLAGS="${_isl_saved_CFLAGS} ${islinc} ${gmpinc}"
106     LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs} ${gmplibs}"
107     LIBS="${_isl_saved_LIBS} -lisl -lgmp"
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])
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
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)
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
132     CFLAGS=$_isl_saved_CFLAGS
133     LDFLAGS=$_isl_saved_LDFLAGS
134     LIBS=$_isl_saved_LIBS
135   fi
139 # ISL_IF_FAILED (ACTION-IF-FAILED)
140 # ----------------------------------
141 # Executes ACTION-IF-FAILED, if GRAPHITE was requested and
142 # the checks failed.
143 AC_DEFUN([ISL_IF_FAILED],
145   ISL_REQUESTED([graphite_requested=yes], [graphite_requested=no])
146   
147   if test "${gcc_cv_isl}" = no ; then
148     isllibs=
149     islinc=
150   fi
152   if test "${graphite_requested}" = yes \
153     && test "x${isllibs}" = x \
154     && test "x${islinc}" = x ; then
155     $1
156   fi