Commit d32ef397 by Andreas Simbuerger Committed by Sebastian Pop

Support official CLooG.org versions.

2010-11-11  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

	* configure.ac: Support official CLooG.org versions.
	* configure: Regenerate.
	* config/cloog.m4: New.

From-SVN: r166622
parent 77b0efff
2010-11-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* configure.ac: Support official CLooG.org versions.
* configure: Regenerate.
* config/cloog.m4: New.
2010-11-10 François Dumont <francois.cppdevs@free.fr> 2010-11-10 François Dumont <francois.cppdevs@free.fr>
* MAINTAINERS (Write After Approval): Add myself. * MAINTAINERS (Write After Approval): Add myself.
......
# 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 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
# CLOOG_INIT_FLAGS ()
# -------------------------
# Provide configure switches for CLooG support.
# Initialize clooglibs/clooginc according to the user input.
AC_DEFUN([CLOOG_INIT_FLAGS],
[
AC_ARG_WITH(cloog,
[AS_HELP_STRING(
[--with-cloog=PATH],
[Specify prefix directory for the installed CLooG-PPL package.
Equivalent to --with-cloog-include=PATH/include
plus --with-cloog-lib=PATH/lib])])
AC_ARG_WITH(cloog_include,
[AS_HELP_STRING(
[--with-cloog-include=PATH],
[Specify directory for installed CLooG include files])])
AC_ARG_WITH(cloog_lib,
[AS_HELP_STRING(
[--with-cloog-lib=PATH],
[Specify the directory for the installed CLooG library])])
AC_ARG_ENABLE(cloog-version-check,
[AS_HELP_STRING(
[--disable-cloog-version-check],
[disable check for CLooG version])],
ENABLE_CLOOG_CHECK=$enableval,
ENABLE_CLOOG_CHECK=yes)
# Initialize clooglibs and clooginc.
case $with_cloog in
no)
clooglibs=
clooginc=
;;
"" | yes)
;;
*)
clooglibs="-L$with_cloog/lib"
clooginc="-I$with_cloog/include"
;;
esac
if test "x${with_cloog_include}" != x ; then
clooginc="-I$with_cloog_include"
fi
if test "x${with_cloog_lib}" != x; then
clooglibs="-L$with_cloog_lib"
fi
dnl Flags needed for CLOOG
AC_SUBST(clooglibs)
AC_SUBST(clooginc)
]
)
# CLOOG_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT)
# ----------------------------------------------------
# Provide actions for failed CLooG detection.
AC_DEFUN([CLOOG_REQUESTED],
[
AC_REQUIRE([CLOOG_INIT_FLAGS])
if test "x${with_cloog}" != x \
|| test "x${with_cloog_include}" != x \
|| test "x${with_cloog_lib}" != x ; then
$1
else
$2
fi
]
)
# _CLOOG_ORG_PROG ()
# ------------------
# Helper for detecting CLooG.org's backend.
m4_define([_CLOOG_ORG_PROG],[AC_LANG_PROGRAM(
[#include <cloog/cloog.h>],
[cloog_version ()])])
# _CLOOG_PPL_LEGACY_PROG ()
# -------------------------
# Helper for detecting CLooG-Legacy (CLooG-PPL).
m4_define([_CLOOG_PPL_LEGACY_PROG], [AC_LANG_PROGRAM(
[#include <cloog/cloog.h>],
[ppl_version_major ()])])
# CLOOG_FIND_FLAGS ()
# ------------------
# Detect the used CLooG-backend and set clooginc/clooglibs/cloog_org.
# Preference: CLooG-PPL (Legacy) > CLooG-ISL > CLooG-PPL
AC_DEFUN([CLOOG_FIND_FLAGS],
[
AC_REQUIRE([CLOOG_INIT_FLAGS])
_cloog_saved_CFLAGS=$CFLAGS
_cloog_saved_CPPFLAGS=$CPPFLAGS
_cloog_saved_LDFLAGS=$LDFLAGS
_cloog_saved_LIBS=$LIBS
_clooglegacyinc="-DCLOOG_PPL_BACKEND"
_cloogorginc="-DCLOOG_INT_GMP -DCLOOG_ORG"
dnl clooglibs & clooginc may have been initialized by CLOOG_INIT_FLAGS.
CFLAGS="${CFLAGS} ${clooginc} ${pplinc} ${gmpinc}"
CPPFLAGS="${CPPFLAGS} ${_clooglegacyinc} ${_cloogorginc}"
LDFLAGS="${LDFLAGS} ${clooglibs}"
AC_CACHE_CHECK([for installed CLooG],
[gcc_cv_cloog_type],
[LIBS="-lcloog ${_cloog_saved_LIBS}"
AC_LINK_IFELSE([_CLOOG_PPL_LEGACY_PROG],
[gcc_cv_cloog_type="PPL Legacy"],
[LIBS="-lcloog-isl -lisl ${_cloog_saved_LIBS}"
AC_LINK_IFELSE([_CLOOG_ORG_PROG],
[gcc_cv_cloog_type=ISL],
[LIBS="-lcloog-ppl ${_cloog_saved_LIBS}"
AC_LINK_IFELSE([_CLOOG_ORG_PROG],
[gcc_cv_cloog_type=PPL],
[gcc_cv_cloog_type=no])])])])
case $gcc_cv_cloog_type in
"PPL Legacy")
clooginc="${clooginc} ${_clooglegacyinc}"
clooglibs="${clooglibs} -lcloog"
cloog_org=no
;;
"ISL")
clooginc="${clooginc} ${_cloogorginc}"
clooglibs="${clooglibs} -lcloog-isl"
cloog_org=yes
;;
"PPL")
clooginc="${clooginc} ${_cloogorginc}"
clooglibs="${clooglibs} -lcloog-ppl"
cloog_org=yes
;;
*)
clooglibs=
clooginc=
cloog_org=
;;
esac
LIBS=$_cloog_saved_LIBS
CFLAGS=$_cloog_saved_CFLAGS
CPPFLAGS=$_cloog_saved_CPPFLAGS
LDFLAGS=$_cloog_saved_LDFLAGS
]
)
# _CLOOG_CHECK_CT_PROG(MAJOR, MINOR, REVISION)
# --------------------------------------------
# Helper for verifying CLooG's compile time version.
m4_define([_CLOOG_CHECK_CT_PROG],[AC_LANG_PROGRAM(
[#include "cloog/cloog.h"],
[#if CLOOG_VERSION_MAJOR != $1 \
|| CLOOG_VERSION_MINOR != $2 \
|| CLOOG_VERSION_REVISION < $3
choke me
#endif])])
# _CLOOG_CHECK_RT_PROG ()
# -----------------------
# Helper for verifying that CLooG's compile time version
# matches the run time version.
m4_define([_CLOOG_CHECK_RT_PROG],[AC_LANG_PROGRAM(
[#include "cloog/cloog.h"],
[if ((cloog_version_major () != CLOOG_VERSION_MAJOR)
&& (cloog_version_minor () != CLOOG_VERSION_MINOR)
&& (cloog_version_revision () != CLOOG_VERSION_REVISION))
{
return 1;
}])])
# CLOOG_CHECK_VERSION CLOOG_CHECK_VERSION (MAJOR, MINOR, REVISION)
# ----------------------------------------------------------------
# Test the found CLooG to be exact of version MAJOR.MINOR and at least
# REVISION.
# If we're using the old CLooG-PPL (Legacy), the old version check will
# be executed (Ignores the provided version information).
AC_DEFUN([CLOOG_CHECK_VERSION],
[
AC_REQUIRE([CLOOG_FIND_FLAGS])
if test "${ENABLE_CLOOG_CHECK}" = yes ; then
_cloog_saved_CFLAGS=$CFLAGS
_cloog_saved_LDFLAGS=$LDFLAGS
CFLAGS="${_cloog_saved_CFLAGS} ${clooginc} ${pplinc} ${gmpinc}"
LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs}"
if test "${cloog_org}" = yes ; then
AC_CACHE_CHECK([for verison $1.$2.$3 of CLooG],
[gcc_cv_cloog_ct_0_14_0],
[AC_COMPILE_IFELSE([_CLOOG_CHECK_CT_PROG($1,$2,$3)],
[gcc_cv_cloog_ct_0_14_0=yes],
[gcc_cv_cloog_ct_0_14_0=no])])
elif test "${cloog_org}" = no ; then
AC_CACHE_CHECK([for version 0.15.5 (or later revision) of CLooG],
[gcc_cv_cloog_ct_0_15_5],
[AC_COMPILE_IFELSE([_CLOOG_CHECK_CT_PROG(0,15,5)],
[AC_COMPILE_IFELSE([_CLOOG_CHECK_CT_PROG(0,15,9)],
[gcc_cv_cloog_ct_0_15_5=yes],
[gcc_cv_cloog_ct_0_15_5="buggy but acceptable"])],
[gcc_cv_cloog_ct_0_15_5=no])])
fi
CFLAGS=$_cloog_saved_CFLAGS
LDFLAGS=$_cloog_saved_LDFLAGS
fi
]
)
# CLOOG_IF_FAILED (ACTION-IF-FAILED)
# ----------------------------------
# Executes ACTION-IF-FAILED, if GRAPHITE was requested and
# the checks failed.
AC_DEFUN([CLOOG_IF_FAILED],
[
CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
if test "${gcc_cv_cloog_ct_0_14_0}" = no \
|| test "${gcc_cv_cloog_rt_0_14_0}" = no \
|| test "${gcc_cv_cloog_ct_0_15_5}" = no; then
clooglibs=
clooginc=
fi
if test "${graphite_requested}" = yes \
&& test "x${clooglibs}" = x \
&& test "x${clooginc}" = x ; then
$1
fi
]
)
...@@ -28,6 +28,7 @@ m4_include([ltoptions.m4]) ...@@ -28,6 +28,7 @@ m4_include([ltoptions.m4])
m4_include([ltsugar.m4]) m4_include([ltsugar.m4])
m4_include([ltversion.m4]) m4_include([ltversion.m4])
m4_include([lt~obsolete.m4]) m4_include([lt~obsolete.m4])
m4_include([config/cloog.m4])
AC_INIT(move-if-change) AC_INIT(move-if-change)
AC_PREREQ(2.64) AC_PREREQ(2.64)
...@@ -1587,69 +1588,39 @@ AC_SUBST(pplinc) ...@@ -1587,69 +1588,39 @@ AC_SUBST(pplinc)
# Check for CLOOG # Check for CLOOG
clooglibs=" -lcloog "
clooginc=" -DCLOOG_PPL_BACKEND "
AC_ARG_WITH(cloog, [ --with-cloog=PATH Specify prefix directory for the installed CLooG-PPL package
Equivalent to --with-cloog-include=PATH/include
plus --with-cloog-lib=PATH/lib])
AC_ARG_WITH(cloog_include, [ --with-cloog-include=PATH Specify directory for installed CLooG include files])
AC_ARG_WITH(cloog_lib, [ --with-cloog-lib=PATH Specify the directory for the installed CLooG library])
dnl Provide configure switches and initialize clooginc & clooglibs
dnl with user input.
CLOOG_INIT_FLAGS
if test "x$with_ppl" = "xno"; then if test "x$with_ppl" = "xno"; then
with_cloog=no with_cloog=no
fi fi
if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
case $with_cloog in && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
no) clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' '
clooglibs= clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include '
clooginc= fi
;; if test "x$with_cloog" != "xno"; then
"" | yes) dnl Version check for CLooG-Org
;; dnl As long as there is no new release of CLooG,
*) dnl we will check for 0.14.0.
clooglibs="-L$with_cloog/lib -lcloog" dnl
clooginc="-I$with_cloog/include -DCLOOG_PPL_BACKEND " dnl The first git revision that will work with
;; dnl GCC is: bd91b845a65805c290d43fc1bef8139864a163fb
esac dnl This is enforced implictly, as this is the commit that
if test "x$with_cloog_include" != x; then dnl introduced the versioning information used within our
clooginc="-I$with_cloog_include -DCLOOG_PPL_BACKEND " dnl checks.
fi dnl
if test "x$with_cloog_lib" != x; then dnl If we're using CLooG-Legacy, the provided version information
clooglibs="-L$with_cloog_lib -lcloog" dnl will be ignored.
fi CLOOG_CHECK_VERSION(0,14,0)
if test "x$with_cloog$with_cloog_include$with_cloog_lib" = x && test -d ${srcdir}/cloog; then
clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' -lcloog ' dnl Only execute fail-action, if CLooG has been
clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -DCLOOG_PPL_BACKEND ' dnl requested.
enable_cloog_version_check=no CLOOG_IF_FAILED([
AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])])
fi fi
AC_ARG_ENABLE(cloog-version-check,
[ --disable-cloog-version-check disable check for CLooG version],
ENABLE_CLOOG_CHECK=$enableval,
ENABLE_CLOOG_CHECK=yes)
if test "x$with_cloog" != "xno" -a "${ENABLE_CLOOG_CHECK}" = "yes"; then
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $clooginc $gmpinc $pplinc"
AC_MSG_CHECKING([for version 0.15.5 (or later revision) of CLooG])
AC_TRY_COMPILE([#include "cloog/cloog.h"],[
#if CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 15 || CLOOG_VERSION_REVISION < 5
choke me
#endif
], [AC_TRY_COMPILE([#include "cloog/cloog.h"],[
#if CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 15 || CLOOG_VERSION_REVISION < 9
choke me
#endif
], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
[AC_MSG_RESULT([no]); clooglibs= ; clooginc= ])
CFLAGS="$saved_CFLAGS"
fi
# Flags needed for CLOOG
AC_SUBST(clooglibs)
AC_SUBST(clooginc)
# Check for LTO support. # Check for LTO support.
AC_ARG_ENABLE(lto, AC_ARG_ENABLE(lto,
[ --enable-lto enable link time optimization support], [ --enable-lto enable link time optimization support],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment