]> git.ipfire.org Git - thirdparty/gcc.git/blob - config/cloog.m4
b80ac2742aad704d243193c25541be9702fe38d6
[thirdparty/gcc.git] / config / cloog.m4
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 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
18
19 # CLOOG_INIT_FLAGS ()
20 # -------------------------
21 # Provide configure switches for CLooG support.
22 # Initialize clooglibs/clooginc according to the user input.
23 AC_DEFUN([CLOOG_INIT_FLAGS],
24 [
25 AC_ARG_WITH([cloog-include],
26 [AS_HELP_STRING(
27 [--with-cloog-include=PATH],
28 [Specify directory for installed CLooG include files])])
29 AC_ARG_WITH([cloog-lib],
30 [AS_HELP_STRING(
31 [--with-cloog-lib=PATH],
32 [Specify the directory for the installed CLooG library])])
33
34 AC_ARG_ENABLE(cloog-version-check,
35 [AS_HELP_STRING(
36 [--disable-cloog-version-check],
37 [disable check for CLooG version])],
38 ENABLE_CLOOG_CHECK=$enableval,
39 ENABLE_CLOOG_CHECK=yes)
40
41 # Initialize clooglibs and clooginc.
42 case $with_cloog in
43 no)
44 clooglibs=
45 clooginc=
46 ;;
47 "" | yes)
48 ;;
49 *)
50 clooglibs="-L$with_cloog/lib"
51 clooginc="-I$with_cloog/include"
52 ;;
53 esac
54 if test "x${with_cloog_include}" != x ; then
55 clooginc="-I$with_cloog_include"
56 fi
57 if test "x${with_cloog_lib}" != x; then
58 clooglibs="-L$with_cloog_lib"
59 fi
60 dnl If no --with-cloog flag was specified and there is in-tree CLooG
61 dnl source, set up flags to use that and skip any version tests
62 dnl as we cannot run them reliably before building CLooG
63 if test "x${clooginc}" = x && test "x${clooglibs}" = x \
64 && test -d ${srcdir}/cloog; then
65 clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' '
66 clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include'
67 ENABLE_CLOOG_CHECK=no
68 AC_MSG_WARN([using in-tree CLooG, disabling version check])
69 fi
70
71 clooginc="-DCLOOG_INT_GMP ${clooginc}"
72 clooglibs="${clooglibs} -lcloog-isl"
73 ]
74 )
75
76 # CLOOG_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT)
77 # ----------------------------------------------------
78 # Provide actions for failed CLooG detection.
79 AC_DEFUN([CLOOG_REQUESTED],
80 [
81 AC_REQUIRE([CLOOG_INIT_FLAGS])
82
83 if test "x${with_cloog}" = xno; then
84 $2
85 elif test "x${with_cloog}" != x \
86 || test "x${with_cloog_include}" != x \
87 || test "x${with_cloog_lib}" != x ; then
88 $1
89 else
90 $2
91 fi
92 ]
93 )
94
95 # _CLOOG_CHECK_CT_PROG(MAJOR, MINOR, REVISION)
96 # --------------------------------------------
97 # Helper for verifying CLooG's compile time version.
98 m4_define([_CLOOG_CHECK_CT_PROG],[AC_LANG_PROGRAM(
99 [#include "cloog/version.h"],
100 [#if CLOOG_VERSION_MAJOR != $1 \
101 || CLOOG_VERSION_MINOR != $2 \
102 || CLOOG_VERSION_REVISION < $3
103 choke me
104 #endif])])
105
106 # CLOOG_CHECK_VERSION CLOOG_CHECK_VERSION (MAJOR, MINOR, REVISION)
107 # ----------------------------------------------------------------
108 # Test the found CLooG to be exact of version MAJOR.MINOR and at least
109 # REVISION.
110 AC_DEFUN([CLOOG_CHECK_VERSION],
111 [
112 AC_REQUIRE([CLOOG_INIT_FLAGS])
113
114 if test "${ENABLE_CLOOG_CHECK}" = yes ; then
115 _cloog_saved_CFLAGS=$CFLAGS
116 _cloog_saved_LDFLAGS=$LDFLAGS
117
118 CFLAGS="${_cloog_saved_CFLAGS} ${clooginc} ${islinc} ${gmpinc}"
119 LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${isllibs} ${gmplib}"
120
121 AC_MSG_CHECKING([for version $1.$2.$3 of CLooG])
122 AC_COMPILE_IFELSE([_CLOOG_CHECK_CT_PROG($1,$2,$3)],
123 [gcc_cv_cloog=yes],
124 [gcc_cv_cloog=no])
125 AC_MSG_RESULT([$gcc_cv_cloog])
126
127 CFLAGS=$_cloog_saved_CFLAGS
128 LDFLAGS=$_cloog_saved_LDFLAGS
129 fi
130 ]
131 )
132
133 # CLOOG_IF_FAILED (ACTION-IF-FAILED)
134 # ----------------------------------
135 # Executes ACTION-IF-FAILED, if GRAPHITE was requested and
136 # the checks failed.
137 AC_DEFUN([CLOOG_IF_FAILED],
138 [
139 CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
140
141 if test "${gcc_cv_cloog}" = no ; then
142 clooglibs=
143 clooginc=
144 fi
145
146 if test "${graphite_requested}" = yes \
147 && test "x${clooglibs}" = x \
148 && test "x${clooginc}" = x ; then
149 $1
150 fi
151 ]
152 )