Home | History | Annotate | Download | only in config
      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 (a] 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.
     24 AC_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 )
     73 
     74 # ISL_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT)
     75 # ----------------------------------------------------
     76 # Provide actions for failed ISL detection.
     77 AC_DEFUN([ISL_REQUESTED],
     78 [
     79   AC_REQUIRE([ISL_INIT_FLAGS])
     80 
     81   if test "x${with_isl}" = xno; then
     82     $2
     83   elif test "x${with_isl}" != x \
     84     || test "x${with_isl_include}" != x \
     85     || test "x${with_isl_lib}" != x ; then
     86     $1
     87   else
     88     $2
     89   fi
     90 ]
     91 )
     92 
     93 # _ISL_CHECK_CT_PROG(MAJOR, MINOR)
     94 # --------------------------------------------
     95 # Helper for verifying ISL compile time version.
     96 m4_define([_ISL_CHECK_CT_PROG],[AC_LANG_PROGRAM(
     97   [#include <isl/version.h>
     98    #include <string.h>],
     99   [if (strncmp (isl_version (), "isl-$1.$2", strlen ("isl-$1.$2")) != 0)
    100      return 1;
    101    ])])
    102 
    103 # ISL_CHECK_VERSION ISL_CHECK_VERSION (MAJOR, MINOR)
    104 # ----------------------------------------------------------------
    105 # Test the found ISL to be exact of version MAJOR.MINOR and at least
    106 # REVISION.
    107 AC_DEFUN([ISL_CHECK_VERSION],
    108 [
    109   if test "${ENABLE_ISL_CHECK}" = yes ; then
    110     _isl_saved_CFLAGS=$CFLAGS
    111     _isl_saved_LDFLAGS=$LDFLAGS
    112     _isl_saved_LIBS=$LIBS
    113 
    114     CFLAGS="${_isl_saved_CFLAGS} ${islinc} ${gmpinc}"
    115     LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs}"
    116     LIBS="${_isl_saved_LIBS} -lisl"
    117 
    118     AC_MSG_CHECKING([for version $1.$2 of ISL])
    119     AC_RUN_IFELSE([_ISL_CHECK_CT_PROG($1,$2)],
    120 	[gcc_cv_isl=yes],
    121 	[gcc_cv_isl=no],
    122 	[gcc_cv_isl=yes])
    123     AC_MSG_RESULT([$gcc_cv_isl])
    124 
    125     CFLAGS=$_isl_saved_CFLAGS
    126     LDFLAGS=$_isl_saved_LDFLAGS
    127     LIBS=$_isl_saved_LIBS
    128   fi
    129 ]
    130 )
    131 
    132 # ISL_IF_FAILED (ACTION-IF-FAILED)
    133 # ----------------------------------
    134 # Executes ACTION-IF-FAILED, if GRAPHITE was requested and
    135 # the checks failed.
    136 AC_DEFUN([ISL_IF_FAILED],
    137 [
    138   ISL_REQUESTED([graphite_requested=yes], [graphite_requested=no])
    139   
    140   if test "${gcc_cv_isl}" = no ; then
    141     isllibs=
    142     islinc=
    143   fi
    144 
    145   if test "${graphite_requested}" = yes \
    146     && test "x${isllibs}" = x \
    147     && test "x${islinc}" = x ; then
    148     $1
    149   fi
    150 ]
    151 )
    152