159 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			159 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
# 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 Richard Guenther <rguenther@suse.de>
 | 
						|
# Based on cloog.m4
 | 
						|
 | 
						|
# ISL_INIT_FLAGS ()
 | 
						|
# -------------------------
 | 
						|
# Provide configure switches for isl support.
 | 
						|
# Initialize isllibs/islinc according to the user input.
 | 
						|
AC_DEFUN([ISL_INIT_FLAGS],
 | 
						|
[
 | 
						|
  AC_ARG_WITH([isl-include],
 | 
						|
    [AS_HELP_STRING(
 | 
						|
      [--with-isl-include=PATH],
 | 
						|
      [Specify directory for installed isl include files])])
 | 
						|
  AC_ARG_WITH([isl-lib],
 | 
						|
    [AS_HELP_STRING(
 | 
						|
      [--with-isl-lib=PATH],
 | 
						|
      [Specify the directory for the installed isl library])])
 | 
						|
 | 
						|
  AC_ARG_ENABLE(isl-version-check,
 | 
						|
    [AS_HELP_STRING(
 | 
						|
      [--disable-isl-version-check],
 | 
						|
      [disable check for isl version])],
 | 
						|
    ENABLE_ISL_CHECK=$enableval,
 | 
						|
    ENABLE_ISL_CHECK=yes)
 | 
						|
  
 | 
						|
  # Initialize isllibs and islinc.
 | 
						|
  case $with_isl in
 | 
						|
    no)
 | 
						|
      isllibs=
 | 
						|
      islinc=
 | 
						|
      ;;
 | 
						|
    "" | yes)
 | 
						|
      ;;
 | 
						|
    *)
 | 
						|
      isllibs="-L$with_isl/lib"
 | 
						|
      islinc="-I$with_isl/include"
 | 
						|
      ;;
 | 
						|
  esac
 | 
						|
  if test "x${with_isl_include}" != x ; then
 | 
						|
    islinc="-I$with_isl_include"
 | 
						|
  fi
 | 
						|
  if test "x${with_isl_lib}" != x; then
 | 
						|
    isllibs="-L$with_isl_lib"
 | 
						|
  fi
 | 
						|
  dnl If no --with-isl flag was specified and there is in-tree isl
 | 
						|
  dnl source, set up flags to use that and skip any version tests
 | 
						|
  dnl as we cannot run them before building isl.
 | 
						|
  if test "x${islinc}" = x && test "x${isllibs}" = x \
 | 
						|
     && test -d ${srcdir}/isl; then
 | 
						|
    isllibs='-L$$r/$(HOST_SUBDIR)/isl/'"$lt_cv_objdir"' '
 | 
						|
    islinc='-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include'
 | 
						|
    ENABLE_ISL_CHECK=no
 | 
						|
    AC_MSG_WARN([using in-tree isl, disabling version check])
 | 
						|
  fi
 | 
						|
 | 
						|
  isllibs="${isllibs} -lisl"
 | 
						|
]
 | 
						|
)
 | 
						|
 | 
						|
# ISL_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT)
 | 
						|
# ----------------------------------------------------
 | 
						|
# Provide actions for failed isl detection.
 | 
						|
AC_DEFUN([ISL_REQUESTED],
 | 
						|
[
 | 
						|
  AC_REQUIRE([ISL_INIT_FLAGS])
 | 
						|
 | 
						|
  if test "x${with_isl}" = xno; then
 | 
						|
    $2
 | 
						|
  elif test "x${with_isl}" != x \
 | 
						|
    || test "x${with_isl_include}" != x \
 | 
						|
    || test "x${with_isl_lib}" != x ; then
 | 
						|
    $1
 | 
						|
  else
 | 
						|
    $2
 | 
						|
  fi
 | 
						|
]
 | 
						|
)
 | 
						|
 | 
						|
# ISL_CHECK_VERSION ISL_CHECK_VERSION ()
 | 
						|
# ----------------------------------------------------------------
 | 
						|
# Test whether isl contains functionality added to the minimum expected version.
 | 
						|
AC_DEFUN([ISL_CHECK_VERSION],
 | 
						|
[
 | 
						|
  if test "${ENABLE_ISL_CHECK}" = yes ; then
 | 
						|
    _isl_saved_CFLAGS=$CFLAGS
 | 
						|
    _isl_saved_LDFLAGS=$LDFLAGS
 | 
						|
    _isl_saved_LIBS=$LIBS
 | 
						|
 | 
						|
    CFLAGS="${_isl_saved_CFLAGS} ${islinc} ${gmpinc}"
 | 
						|
    LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs} ${gmplibs}"
 | 
						|
    LIBS="${_isl_saved_LIBS} -lisl -lgmp"
 | 
						|
 | 
						|
    AC_MSG_CHECKING([for isl 0.16, 0.15, or deprecated 0.14])
 | 
						|
    AC_TRY_LINK([#include <isl/ctx.h>],
 | 
						|
                [isl_ctx_get_max_operations (isl_ctx_alloc ());],
 | 
						|
                [gcc_cv_isl=yes],
 | 
						|
                [gcc_cv_isl=no])
 | 
						|
    AC_MSG_RESULT([$gcc_cv_isl])
 | 
						|
 | 
						|
    if test "${gcc_cv_isl}" = no ; then
 | 
						|
      AC_MSG_RESULT([recommended isl version is 0.16 or 0.15, the minimum required isl version 0.14 is deprecated])
 | 
						|
    fi
 | 
						|
 | 
						|
    AC_MSG_CHECKING([for isl 0.16 or 0.15])
 | 
						|
    AC_TRY_LINK([#include <isl/schedule.h>],
 | 
						|
                [isl_options_set_schedule_serialize_sccs (NULL, 0);],
 | 
						|
                [ac_has_isl_options_set_schedule_serialize_sccs=yes],
 | 
						|
                [ac_has_isl_options_set_schedule_serialize_sccs=no])
 | 
						|
    AC_MSG_RESULT($ac_has_isl_options_set_schedule_serialize_sccs)
 | 
						|
 | 
						|
    if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
 | 
						|
      islver="0.15"
 | 
						|
      AC_SUBST([islver])
 | 
						|
    fi
 | 
						|
 | 
						|
    CFLAGS=$_isl_saved_CFLAGS
 | 
						|
    LDFLAGS=$_isl_saved_LDFLAGS
 | 
						|
    LIBS=$_isl_saved_LIBS
 | 
						|
  fi
 | 
						|
]
 | 
						|
)
 | 
						|
 | 
						|
# ISL_IF_FAILED (ACTION-IF-FAILED)
 | 
						|
# ----------------------------------
 | 
						|
# Executes ACTION-IF-FAILED, if GRAPHITE was requested and
 | 
						|
# the checks failed.
 | 
						|
AC_DEFUN([ISL_IF_FAILED],
 | 
						|
[
 | 
						|
  ISL_REQUESTED([graphite_requested=yes], [graphite_requested=no])
 | 
						|
  
 | 
						|
  if test "${gcc_cv_isl}" = no ; then
 | 
						|
    isllibs=
 | 
						|
    islinc=
 | 
						|
  fi
 | 
						|
 | 
						|
  if test "${graphite_requested}" = yes \
 | 
						|
    && test "x${isllibs}" = x \
 | 
						|
    && test "x${islinc}" = x ; then
 | 
						|
    $1
 | 
						|
  fi
 | 
						|
]
 | 
						|
)
 |