From patchwork Mon Sep 13 10:31:18 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Support official CLooG.org versions. Date: Mon, 13 Sep 2010 00:31:18 -0000 From: =?utf-8?q?Andreas_Simb=C3=BCrger_=3Csimbuerg=40googlemail=2Ecom=3E?= X-Patchwork-Id: 64580 Message-Id: <1284373878-20753-1-git-send-email-simbuerg@googlemail.com> To: gcc-patches@gcc.gnu.org Cc: gcc-graphite@googlegroups.com, =?UTF-8?q?Andreas=20Simb=C3=BCrger?= Add support for official CLooG releases. CLooG's configuration gets detected within 2 stages: Stage 1: Detect the installed CLooG version. This is done by linking test programs against the various CLooG libraries. As CLooG's library sonames depend on the used backend, this is sufficient to detect the used backend. We only detect this backends, in order: 1) CLooG-PPL (Legacy): The "old" CLooG. 2) CLooG-ISL: The "new" CLooG. 3) CLooG-Parma: An alternative backend, to compare it with CLooG-ISL. CLooG-Poly is not detected, as the PolyLib may conflict with GCC's license. Stage 2: Version checks. After detecting the right configuration, we finally check if the installed version is usable. There are 2 different checks: One for CLooG-PPL (Legacy) and one for CLooG-ISL. * CLooG-ISL: As the "new" CLooG provides methods to check for its version at both compile and run time, we use this feature. First we check for the constants to verify the header's compatibility. Finally we verify the compatibility of our headers with the library that will get linked with GCC. As stated in autoconf's documentation, the run time check is not usable when cross-compiling, so we skip this check then. * CLooG-PPL (Legacy): This version check provides the same semantics as before. As CLooG-PPL (Legacy) provides the same constants as the official CLooG, we can use the same test program for the compile time check. Tested with CLooG-ISL and CLooG-PPL (Legacy). As for now, CLooG-Parma fails to build. 2010-08-11 Andreas Simbuerger * configure.ac: Support official CLooG.org versions. * configure: Regenerate. --- ChangeLog.graphite | 5 + configure | 355 +++++++++++++++++++++++++++++++++++++++++----------- configure.ac | 170 +++++++++++++++++++++---- 3 files changed, 428 insertions(+), 102 deletions(-) diff --git a/ChangeLog.graphite b/ChangeLog.graphite index c5edc3a..58e30e3 100644 --- a/ChangeLog.graphite +++ b/ChangeLog.graphite @@ -1,3 +1,8 @@ +2010-08-11 Andreas Simbuerger + + * configure.ac: Support official CLooG.org versions. + * configure: Regenerate. + 2010-08-24 Sebastian Pop * Merge from mainline (160224:163495). diff --git a/configure b/configure index fc759d7..e9f9c8c 100755 --- a/configure +++ b/configure @@ -1816,6 +1816,48 @@ fi } # ac_fn_c_try_link +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + return $ac_retval + +} # ac_fn_c_try_run + # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. @@ -1940,48 +1982,6 @@ fi } # ac_fn_c_check_header_mongrel -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval - -} # ac_fn_c_try_run - # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in @@ -5885,8 +5885,6 @@ fi # Check for CLOOG -clooglibs=" -lcloog " -clooginc=" -DCLOOG_PPL_BACKEND " # Check whether --with-cloog was given. @@ -5919,19 +5917,20 @@ case $with_cloog in "" | yes) ;; *) - clooglibs="-L$with_cloog/lib -lcloog" - clooginc="-I$with_cloog/include -DCLOOG_PPL_BACKEND " + clooglibs="-L$with_cloog/lib" + clooginc="-I$with_cloog/include" ;; esac -if test "x$with_cloog_include" != x; then - clooginc="-I$with_cloog_include -DCLOOG_PPL_BACKEND " +if test "${with_cloog_include+set}" = set ; then + clooginc="-I$with_cloog_include" fi -if test "x$with_cloog_lib" != x; then - clooglibs="-L$with_cloog_lib -lcloog" +if test "${with_cloog_lib+set}" = set; then + clooglibs="-L$with_cloog_lib" fi -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 ' - clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -DCLOOG_PPL_BACKEND ' +if test "${with_cloog+set}" = set && test "${with_cloog_include+set}" = set \ + && test "${with_cloog_lib+set}" = x && test -d ${srcdir}/cloog; then + clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' ' + clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include ' enable_cloog_version_check=no fi @@ -5943,22 +5942,214 @@ else fi -if test "x$with_cloog" != "xno" -a "${ENABLE_CLOOG_CHECK}" = "yes"; then - saved_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $clooginc $gmpinc $pplinc" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.15.5 (or later revision) of CLooG" >&5 -$as_echo_n "checking for version 0.15.5 (or later revision) of CLooG... " >&6; } +if test "x$with_cloog" != "xno"; then + + + + + + + + + saved_cflags=$CFLAGS + saved_libs=$LIBS + saved_ldflags=$LDFLAGS + + # Only fail if the user explicitly selected CLooG. + graphite_requested=no + if test "${with_cloog+set}" = set \ + || test "${with_cloog_include+set}" = set \ + || test "${with_cloog_lib+set}" = set ; then + graphite_requested=yes + fi + + # Stage 1: Detect the available CLooG+backend combination. + clooglegacyinc="-DCLOOG_PPL_BACKEND" + cloogorginc="-DCLOOG_INT_GMP -DCLOOG_ORG" + + CFLAGS="${CFLAGS} ${clooginc} ${cloogorginc} ${gmpinc} ${pplinc}" + LDFLAGS="${LDFLAGS} ${clooglibs}" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for installed CLooG type" >&5 +$as_echo_n "checking for installed CLooG type... " >&6; } +if test "${gcc_cv_cloog_type+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + LIBS="-lcloog ${saved_libs}" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +ppl_version_major () + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gcc_cv_cloog_type="PPL Legacy" +else + LIBS="-lcloog-isl -lisl ${saved_libs}" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +cloog_version () + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gcc_cv_cloog_type=ISL +else + LIBS="-lcloog-ppl ${saved_libs}" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +cloog_version () + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gcc_cv_cloog_type=PPL +else + gcc_cv_cloog_type=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_cloog_type" >&5 +$as_echo "$gcc_cv_cloog_type" >&6; } + + 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= + ;; + esac + + # Stage 2: Version check the found CLooG. + CFLAGS="${saved_cflags} ${clooginc} ${gmpinc} ${pplinc}" + LDFLAGS="${saved_ldflags} ${clooglibs}" + + if test "${ENABLE_CLOOG_CHECK}" = yes \ + && test "${cloog_org}" = yes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for verison 0.14.0 of CLooG (compile time)" >&5 +$as_echo_n "checking for verison 0.14.0 of CLooG (compile time)... " >&6; } +if test "${gcc_cv_cloog_ct_0_14_0+set}" = set; then : + $as_echo_n "(cached) " >&6 +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include "cloog/cloog.h" int main () { +#if CLOOG_VERSION_MAJOR != 0 \ + || CLOOG_VERSION_MINOR != 14 \ + || CLOOG_VERSION_REVISION < 0 + choke me + #endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gcc_cv_cloog_ct_0_14_0=yes +else + gcc_cv_cloog_ct_0_14_0=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_cloog_ct_0_14_0" >&5 +$as_echo "$gcc_cv_cloog_ct_0_14_0" >&6; } - #if CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 15 || CLOOG_VERSION_REVISION < 5 - choke me - #endif + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.14.0 of CLooG (run time)" >&5 +$as_echo_n "checking for version 0.14.0 of CLooG (run time)... " >&6; } +if test "${gcc_cv_cloog_rt_0_14_0+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + gcc_cv_cloog_rt_0_14_0=guessing yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include "cloog/cloog.h" +int +main () +{ +if ((cloog_version_major () != CLOOG_VERSION_MAJOR) + && (cloog_version_minor () != CLOOG_VERSION_MINOR) + && (cloog_version_revision () != CLOOG_VERSION_REVISION)) + { + exit (1); + } + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gcc_cv_cloog_rt_0_14_0=yes +else + gcc_cv_cloog_rt_0_14_0=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_cloog_rt_0_14_0" >&5 +$as_echo "$gcc_cv_cloog_rt_0_14_0" >&6; } + fi + # Version check for CLooG-PPL (Legacy). + if test "${ENABLE_CLOOG_CHECK}" = yes \ + && test "${cloog_org}" = no ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.15.5 (or later revision) of CLooG" >&5 +$as_echo_n "checking for version 0.15.5 (or later revision) of CLooG... " >&6; } +if test "${gcc_cv_cloog_ct_0_15_5+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include "cloog/cloog.h" +int +main () +{ +#if CLOOG_VERSION_MAJOR != 0 \ + || CLOOG_VERSION_MINOR != 15 \ + || CLOOG_VERSION_REVISION < 5 + choke me + #endif ; return 0; } @@ -5970,32 +6161,48 @@ if ac_fn_c_try_compile "$LINENO"; then : int main () { - - #if CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 15 || CLOOG_VERSION_REVISION < 9 - choke me - #endif - +#if CLOOG_VERSION_MAJOR != 0 \ + || CLOOG_VERSION_MINOR != 15 \ + || CLOOG_VERSION_REVISION < 9 + choke me + #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + gcc_cv_cloog_ct_0_15_5=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: buggy but acceptable" >&5 -$as_echo "buggy but acceptable" >&6; } + gcc_cv_cloog_ct_0_15_5=buggy but acceptable fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; }; clooglibs= ; clooginc= + gcc_cv_cloog_ct_0_15_5=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$saved_CFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_cloog_ct_0_15_5" >&5 +$as_echo "$gcc_cv_cloog_ct_0_15_5" >&6; } + fi + + 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 "${clooglibs:-null}" = null \ + && test "${clooginc:-null}" = null ; then + as_fn_error "Unable to find a usable CLooG. See config.log for details." "$LINENO" 5 + fi + + CFLAGS=$saved_cflags + LIBS=$saved_libs + LDFLAGS=$saved_ldflags fi -# Flags needed for CLOOG diff --git a/configure.ac b/configure.ac index 3d969aa..7ae72a1 100644 --- a/configure.ac +++ b/configure.ac @@ -1580,8 +1580,6 @@ AC_SUBST(pplinc) # 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 @@ -1593,7 +1591,7 @@ if test "x$with_ppl" = "xno"; then with_cloog=no fi -case $with_cloog in +case $with_cloog in no) clooglibs= clooginc= @@ -1601,19 +1599,20 @@ case $with_cloog in "" | yes) ;; *) - clooglibs="-L$with_cloog/lib -lcloog" - clooginc="-I$with_cloog/include -DCLOOG_PPL_BACKEND " + clooglibs="-L$with_cloog/lib" + clooginc="-I$with_cloog/include" ;; esac -if test "x$with_cloog_include" != x; then - clooginc="-I$with_cloog_include -DCLOOG_PPL_BACKEND " +if test "${with_cloog_include+set}" = set ; then + clooginc="-I$with_cloog_include" fi -if test "x$with_cloog_lib" != x; then - clooglibs="-L$with_cloog_lib -lcloog" +if test "${with_cloog_lib+set}" = set; then + clooglibs="-L$with_cloog_lib" fi -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 ' - clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -DCLOOG_PPL_BACKEND ' +if test "${with_cloog+set}" = set && test "${with_cloog_include+set}" = set \ + && test "${with_cloog_lib+set}" = x && test -d ${srcdir}/cloog; then + clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' ' + clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include ' enable_cloog_version_check=no fi @@ -1622,24 +1621,139 @@ AC_ARG_ENABLE(cloog-version-check, 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" +if test "x$with_cloog" != "xno"; then + dnl CLooG configure test programs. + m4_define([CLOOG_ORG_PROG],[AC_LANG_PROGRAM( + [#include ], + [cloog_version ()])]) + + m4_define([CLOOG_PPL_LEGACY_PROG], [AC_LANG_PROGRAM( + [#include ], + [ppl_version_major ()])]) + + 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])]) + + m4_define([CLOOG_CHECK_RT_PROG],[AC_LANG_PROGRAM( + [#include + #include "cloog/cloog.h"], + [if ((cloog_version_major () != CLOOG_VERSION_MAJOR) + && (cloog_version_minor () != CLOOG_VERSION_MINOR) + && (cloog_version_revision () != CLOOG_VERSION_REVISION)) + { + exit (1); + }])]) + + saved_cflags=$CFLAGS + saved_libs=$LIBS + saved_ldflags=$LDFLAGS + + # Only fail if the user explicitly selected CLooG. + graphite_requested=no + if test "${with_cloog+set}" = set \ + || test "${with_cloog_include+set}" = set \ + || test "${with_cloog_lib+set}" = set ; then + graphite_requested=yes + fi + + # Stage 1: Detect the available CLooG+backend combination. + clooglegacyinc="-DCLOOG_PPL_BACKEND" + cloogorginc="-DCLOOG_INT_GMP -DCLOOG_ORG" + + CFLAGS="${CFLAGS} ${clooginc} ${cloogorginc} ${gmpinc} ${pplinc}" + LDFLAGS="${LDFLAGS} ${clooglibs}" + + AC_CACHE_CHECK([for installed CLooG type], + [gcc_cv_cloog_type], + [LIBS="-lcloog ${saved_libs}" + AC_LINK_IFELSE([CLOOG_PPL_LEGACY_PROG], + [gcc_cv_cloog_type="PPL Legacy"], + [LIBS="-lcloog-isl -lisl ${saved_libs}" + AC_LINK_IFELSE([CLOOG_ORG_PROG], + [gcc_cv_cloog_type=ISL], + [LIBS="-lcloog-ppl ${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= + ;; + esac + + # Stage 2: Version check the found CLooG. + CFLAGS="${saved_cflags} ${clooginc} ${gmpinc} ${pplinc}" + LDFLAGS="${saved_ldflags} ${clooglibs}" + + if test "${ENABLE_CLOOG_CHECK}" = yes \ + && test "${cloog_org}" = yes ; then + AC_CACHE_CHECK([for verison 0.14.0 of CLooG (compile time)], + [gcc_cv_cloog_ct_0_14_0], + [AC_COMPILE_IFELSE([CLOOG_CHECK_CT_PROG(0,14,0)], + [gcc_cv_cloog_ct_0_14_0=yes], + [gcc_cv_cloog_ct_0_14_0=no])]) + + AC_CACHE_CHECK([for version 0.14.0 of CLooG (run time)], + [gcc_cv_cloog_rt_0_14_0], + [AC_RUN_IFELSE([CLOOG_CHECK_RT_PROG], + [gcc_cv_cloog_rt_0_14_0=yes], + [gcc_cv_cloog_rt_0_14_0=no], + [gcc_cv_cloog_rt_0_14_0=guessing yes])]) + fi + + # Version check for CLooG-PPL (Legacy). + if test "${ENABLE_CLOOG_CHECK}" = yes \ + && 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 + + 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 "${clooglibs:-null}" = null \ + && test "${clooginc:-null}" = null ; then + AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.]) + fi + + CFLAGS=$saved_cflags + LIBS=$saved_libs + LDFLAGS=$saved_ldflags fi -# Flags needed for CLOOG +dnl Flags needed for CLOOG AC_SUBST(clooglibs) AC_SUBST(clooginc)