2 dnl /**-------------------------------------------------------------------**
4 dnl **-------------------------------------------------------------------**
6 dnl **-------------------------------------------------------------------**
7 dnl ** First version: august 7th 2002 **
8 dnl **-------------------------------------------------------------------**/
10 dnl Input file for autoconf to build a configuration shellscript.
11 dnl To build the configure script from the CLooG's top-level directory, use
12 dnl autoconf -l autoconf autoconf/configure.in > configure
13 dnl if it doesn't work (invalid option -l) try -I instead
14 dnl autoconf -I autoconf autoconf/configure.in > configure
16 dnl /**************************************************************************
17 dnl * CLooG : the Chunky Loop Generator (experimental) *
18 dnl ***************************************************************************
20 dnl * Copyright (C) 2001 Cedric Bastoul *
22 dnl * This library is free software; you can redistribute it and/or *
23 dnl * modify it under the terms of the GNU Lesser General Public *
24 dnl * License as published by the Free Software Foundation; either *
25 dnl * version 2.1 of the License, or (at your option) any later version. *
27 dnl * This library is distributed in the hope that it will be useful, *
28 dnl * but WITHOUT ANY WARRANTY; without even the implied warranty of *
29 dnl * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
30 dnl * Lesser General Public License for more details. *
32 dnl * You should have received a copy of the GNU Lesser General Public *
33 dnl * License along with this library; if not, write to the Free Software *
34 dnl * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
35 dnl * Boston, MA 02110-1301 USA *
37 dnl * CLooG, the Chunky Loop Generator *
38 dnl * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr *
40 dnl ***************************************************************************/
43 AC_INIT(source/cloog.c)
44 AC_CONFIG_AUX_DIR(autoconf)
45 AC_CONFIG_MACRO_DIR([m4])
46 AM_INIT_AUTOMAKE(cloog, 0.14.0)
50 dnl /**************************************************************************
52 dnl **************************************************************************/
54 dnl Checks for programs.
59 dnl Configure needs an empty install.sh file with this, i HATE that...
62 AC_CHECK_PROG(TEXI2DVI, texi2dvi, texi2dvi, [])
63 AM_CONDITIONAL(HAVE_TEXI2DVI, test -n "$TEXI2DVI")
68 dnl Checks for typedefs, structures, and compiler characteristics.
74 dnl Checks for header files.
78 dnl Checks for library functions.
79 AC_CHECK_FUNCS(strtol)
82 dnl /**************************************************************************
83 dnl * Option setting *
84 dnl **************************************************************************/
87 MP_DFLAGS=-DLINEAR_VALUE_IS_MP
89 AC_CHECK_HEADERS([sys/resource.h],
90 [AC_DEFINE([CLOOG_RUSAGE], [], [Print time required to generate code])])
93 [AS_HELP_STRING([--with-bits=32|64|gmp],
94 [integer type to use])],
97 AX_SUBMODULE(isl,no|system|build|bundled,bundled)
98 if test "$with_isl" != "no"; then
102 dnl /**************************************************************************
103 dnl * Where is GMP? *
104 dnl **************************************************************************/
106 gmp_module_default=no
107 if test "$BITS" = "gmp"; then
108 gmp_module_default=system
110 AX_SUBMODULE(gmp,no|system,$gmp_module_default)
112 need_get_memory_functions=false
115 if test "x$with_gmp_prefix" != "x"; then
116 CPPFLAGS="-I$with_gmp_prefix/include $CPPFLAGS"
119 if test "$with_gmp_exec_prefix" != "yes" ; then
120 LDFLAGS="-L$with_gmp_exec_prefix/lib $LDFLAGS"
123 AC_CHECK_HEADER(gmp.h,
125 [AC_MSG_ERROR(Can't find gmp headers.)])
128 [LIBS="$LIBS -lgmp"],
129 [AC_MSG_ERROR(Can't find gmp library.)])
130 AC_CHECK_DECLS(mp_get_memory_functions,[],[
131 need_get_memory_functions=true
132 ],[#include <gmp.h>])
135 AM_CONDITIONAL(NEED_GET_MEMORY_FUNCTIONS,
136 test x$need_get_memory_functions = xtrue)
138 # all compiled libraries
140 AC_SUBST(CLOOG_LIBRARIES)
141 # backend used by executables
145 dnl /**************************************************************************
146 dnl * Where is PolyLib? *
147 dnl **************************************************************************/
149 AX_SUBMODULE(polylib,no|system|build,system)
158 dnl Checking for PolyLib
159 AC_SUBST(cl_cv_polylib)
160 AC_SUBST(POLYLIB_CPPFLAGS)
161 AC_SUBST(POLYLIB_LDFLAGS)
162 AC_SUBST(POLYLIB_LIBS)
164 AC_MSG_CHECKING(for location of PolyLib)
165 if test "x$with_polylib_builddir" != "x"; then
166 with_polylib_builddir=`cd $with_polylib_builddir; pwd`
167 AC_MSG_RESULT(built in $with_polylib_builddir)
168 polylib_polylibs=`echo @polylibs@ | $with_polylib_builddir/config.status --file=-`
169 AC_MSG_NOTICE(Configured polylibs: $polylib_polylibs)
170 POLYLIB_CPPFLAGS="-I$with_polylib_builddir/include -I$polylib_srcdir/include"
171 for BITS in $polylibs; do
172 cl_cv_polylib=missing
173 for PL in $polylib_polylibs; do
174 if test "libpolylib$BITS.la" = $PL; then
175 cl_cv_polylib="polylib$BITS"
179 if test "$cl_cv_polylib" != "missing"; then
180 POLYLIB_LIBS="$with_polylib_builddir/lib$cl_cv_polylib.la"
184 elif test "$with_polylib" != "no"; then
185 if test "x$with_polylib_prefix" != "x"; then
186 with_polylib_prefix=`cd $with_polylib_prefix; pwd`
187 AC_MSG_RESULT(installed in $with_polylib_exec_prefix)
188 POLYLIB_CPPFLAGS="-I$with_polylib_prefix/include"
189 POLYLIB_LDFLAGS="-L$with_polylib_exec_prefix/lib"
190 LD_LIBRARY_PATH="$with_polylib_exec_prefix/lib:$LD_LIBRARY_PATH"
191 export LD_LIBRARY_PATH
193 AC_MSG_RESULT(installed in standard location)
195 SAVE_CPPFLAGS="$CPPFLAGS"
196 SAVE_LDFLAGS="$LDFLAGS"
197 CPPFLAGS="$POLYLIB_CPPFLAGS $CPPFLAGS"
198 LDFLAGS="$POLYLIB_LDFLAGS $LDFLAGS"
199 for BITS in $polylibs; do
200 cl_cv_polylib="polylib$BITS"
201 AC_CHECK_HEADER(polylib/$cl_cv_polylib.h,[
202 AC_CHECK_LIB($cl_cv_polylib,PolyhedronTSort,[
203 POLYLIB_LIBS="-l$cl_cv_polylib"
207 cl_cv_polylib=missing
209 CPPFLAGS="$SAVE_CPPFLAGS"
210 LDFLAGS="$SAVE_LDFLAGS"
212 case "$cl_cv_polylib" in
214 AC_MSG_WARN(Can't find PolyLib.)
217 CLOOG_LIBRARIES="$CLOOG_LIBRARIES libcloog-polylib.la"
222 dnl /**************************************************************************
223 dnl * Where is isl? *
224 dnl **************************************************************************/
226 AC_SUBST(ISL_CPPFLAGS)
227 AC_SUBST(ISL_LDFLAGS)
231 ISL_CPPFLAGS="-I$srcdir/isl/include -Iisl/include"
234 ISL_CPPFLAGS="-I$isl_srcdir/include -I$with_isl_builddir/include"
235 ISL_LIBS="$with_isl_builddir/libisl.la"
238 if test "x$with_isl_prefix" != "x"; then
239 ISL_CPPFLAGS="-I$with_isl_prefix/include"
241 if test "x$with_isl_exec_prefix" != "x"; then
242 ISL_LDFLAGS="-L$with_isl_exec_prefix/lib"
246 if test "$with_isl" != "no"; then
247 CLOOG_LIBRARIES="$CLOOG_LIBRARIES libcloog-isl.la"
250 AM_CONDITIONAL(BUNDLED_ISL, test $with_isl = bundled)
252 if test -z "$BACKEND"; then
253 AC_MSG_ERROR(No backend specified or found.)
262 AC_CHECK_SIZEOF(int,1)
263 AC_CHECK_SIZEOF(long,1)
264 AC_CHECK_SIZEOF(long long,1)
265 for cl_cv_int_type in int long long_long; do
266 eval "bits=\`expr \$ac_cv_sizeof_$cl_cv_int_type \* 8\`"
267 if test "$bits" = "$BITS"; then
273 AC_DEFINE_UNQUOTED(AS_TR_CPP(CLOOG_INT_$cl_cv_int_type))
276 if test -f $srcdir/.git/HEAD; then
277 GIT_INDEX="\$(top_srcdir)/.git/index"
281 dnl /**************************************************************************
282 dnl * Substitutions *
283 dnl **************************************************************************/
286 dnl Substitutions to do in Makefile.in.
293 AC_SUBST(exec_prefix)
298 AC_CONFIG_HEADERS(config.h)
299 AC_CONFIG_HEADERS(include/cloog/int.h)
300 AC_CONFIG_HEADERS(include/cloog/options.h)
301 AC_CONFIG_FILES(Makefile test/Makefile include/cloog/polylib/backend.h)
302 AC_CONFIG_FILES(autoconf/Doxyfile)
303 AC_CONFIG_FILES(doc/Makefile)
304 AC_CONFIG_FILES(source/version.c)
305 AC_CONFIG_FILES([genversion.sh], [chmod +x genversion.sh])
306 AC_CONFIG_COMMANDS([version.h],
307 [echo '#define CLOOG_HEAD "'`./genversion.sh`'"' > version.h])
308 AC_CONFIG_COMMANDS([doc/gitversion.texi],
309 [echo '@set VERSION '`./genversion.sh`'' > doc/gitversion.texi])
310 if test $with_isl = bundled; then
311 AC_CONFIG_SUBDIRS(isl)
313 AC_CONFIG_COMMANDS_POST([
315 for arg in $ac_configure_args; do
320 old_args="$old_args $arg"
324 ac_configure_args="$old_args $cloog_configure_args"
329 echo " /*-----------------------------------------------*"
330 echo " * CLooG configuration is OK *"
331 echo " *-----------------------------------------------*/"
332 echo "It appears that your system is OK to start CLooG compilation. You need"
333 echo "now to type \"make\". After compilation, you should check CLooG by typing"
334 echo "\"make check\". If no problem occur, you can type \"make uninstall\" if"
335 echo "you are upgrading an old version. Lastly type \"make install\" to install"
336 echo "CLooG on your system (log as root if necessary)."