CLooG 0.16.3
[cloog.git] / configure.ac
blob053685ae726374ee83dcfff2d11d10f996c2cdb1
2 dnl /**-------------------------------------------------------------------**
3 dnl  **                              CLooG                                **
4 dnl  **-------------------------------------------------------------------**
5 dnl  **                           configure.ac                            **
6 dnl  **-------------------------------------------------------------------**
7 dnl  **                   First version: august 7th 2002                  **
8 dnl  **-------------------------------------------------------------------**/
9 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 ***************************************************************************
19 dnl *                                                                         *
20 dnl * Copyright (C) 2001 Cedric Bastoul                                       *
21 dnl *                                                                         *
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.      *
26 dnl *                                                                         *
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.                         *
31 dnl *                                                                         *
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                                             *
36 dnl *                                                                         *
37 dnl * CLooG, the Chunky Loop Generator                                        *
38 dnl * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                      *
39 dnl *                                                                         *
40 dnl ***************************************************************************/
42 m4_define([version_major], [0])
43 m4_define([version_minor], [16])
44 m4_define([version_revision], [3])
46 AC_PREREQ(2.53)
47 AC_INIT([cloog], [version_major.version_minor.version_revision],
48         [cloog-development@googlegroups.com])
49 AC_CONFIG_SRCDIR(source/cloog.c)
50 AC_CONFIG_AUX_DIR(autoconf)
51 AC_CONFIG_MACRO_DIR([m4])
53 VERSION_MAJOR=version_major
54 VERSION_MINOR=version_minor
55 VERSION_REVISION=version_revision
56 AC_SUBST(versioninfo)
57 versioninfo=2:0:0
59 AM_INIT_AUTOMAKE([foreign])
60 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
62 dnl /**************************************************************************
63 dnl  *                              Checking                                  *
64 dnl  **************************************************************************/
66 dnl Checks for programs.
67 AC_PROG_CC
68 AC_PROG_LN_S
69 AC_PROG_MAKE_SET
70 AC_CHECK_PROG(CD, cd)
71 dnl Configure needs an empty install.sh file with this, i HATE that...
72 AC_PROG_INSTALL
73 AC_PROG_LIBTOOL
74 AC_CHECK_PROG(TEXI2DVI, texi2dvi, texi2dvi, [])
75 AM_CONDITIONAL(HAVE_TEXI2DVI, test -n "$TEXI2DVI")
77 AX_CC_MAXOPT
78 AC_SUBST(CFLAGS_WARN)
79 AX_CFLAGS_WARN_ALL(CFLAGS_WARN)
81 dnl Checks for typedefs, structures, and compiler characteristics.
82 AC_C_CONST
83 AC_TYPE_SIZE_T
87 dnl Checks for header files.
88 AC_HEADER_STDC
91 dnl Checks for library functions.
92 AC_CHECK_FUNCS(strtol)
95 dnl /**************************************************************************
96 dnl  *                             Option setting                             *
97 dnl  **************************************************************************/
99 AC_CHECK_HEADERS([sys/resource.h],
100         [AC_DEFINE([CLOOG_RUSAGE], [], [Print time required to generate code])])
102 AX_SUBMODULE(isl,no|system|build|bundled,bundled)
103 BITS="gmp"
105 dnl /**************************************************************************
106 dnl  *                            Where is GMP?                               *
107 dnl  **************************************************************************/
109 AX_SUBMODULE(gmp,system,system)
111 need_get_memory_functions=false
112 case "$with_gmp" in
113 system)
114     if test "x$with_gmp_prefix" != "x"; then
115         CPPFLAGS="-I$with_gmp_prefix/include $CPPFLAGS"
116     fi
117     
118     if test "$with_gmp_exec_prefix" != "yes" ; then
119         LDFLAGS="-L$with_gmp_exec_prefix/lib $LDFLAGS"
120     fi
121      
122     AC_CHECK_HEADER(gmp.h,
123                     [],
124                     [AC_MSG_ERROR(Can't find gmp headers.)])
125     AC_CHECK_LIB(gmp,
126                  __gmpz_init,
127                  [LIBS="$LIBS -lgmp"],
128                  [AC_MSG_ERROR(Can't find gmp library.)])
129     AC_CHECK_DECLS(mp_get_memory_functions,[],[
130             need_get_memory_functions=true
131     ],[#include <gmp.h>])
132     ;;
133 esac
134 AM_CONDITIONAL(NEED_GET_MEMORY_FUNCTIONS,
135                 test x$need_get_memory_functions = xtrue)
137 dnl /**************************************************************************
138 dnl  *                          Where is isl?                                 *
139 dnl  **************************************************************************/
141 AC_SUBST(ISL_CPPFLAGS)
142 AC_SUBST(ISL_LDFLAGS)
143 AC_SUBST(ISL_LIBS)
144 case "$with_isl" in
145 bundled)
146         ISL_CPPFLAGS="-I$srcdir/isl/include -Iisl/include"
147         ;;
148 build)
149         ISL_CPPFLAGS="-I$isl_srcdir/include -I$with_isl_builddir/include"
150         ISL_LIBS="$with_isl_builddir/libisl.la"
151         ;;
152 system)
153         if test "x$with_isl_prefix" != "x"; then
154                 ISL_CPPFLAGS="-I$with_isl_prefix/include"
155         fi
156         if test "x$with_isl_exec_prefix" != "x"; then
157                 ISL_LDFLAGS="-L$with_isl_exec_prefix/lib"
158         fi
159         ISL_LIBS="-lisl"
160 esac
161 AM_CONDITIONAL(BUNDLED_ISL, test $with_isl = bundled)
162 AM_CONDITIONAL(NO_ISL, test $with_isl = no)
165 AC_DEFINE([CLOOG_INT_GMP], 1, [Use arbitrary precision integers])
167 AC_SUBST(GIT_INDEX)
168 if test -f $srcdir/.git/HEAD; then
169         GIT_INDEX="\$(top_srcdir)/.git/index"
173 dnl /**************************************************************************
174 dnl  *                            Substitutions                               *
175 dnl  **************************************************************************/
178 dnl Substitutions to do in Makefile.in.
179 AC_SUBST(CC)
180 AC_SUBST(LN_S)
182 AC_SUBST(prefix)
183 AC_SUBST(exec_prefix)
184 AC_SUBST(INSTALL)
186 AC_SUBST(BITS)
188 AC_SUBST(VERSION_MAJOR)
189 AC_SUBST(VERSION_MINOR)
190 AC_SUBST(VERSION_REVISION)
192 PACKAGE_NAME="cloog-isl"
193 PACKAGE_CFLAGS="-DCLOOG_INT_GMP=1"
194 AX_CREATE_PKGCONFIG_INFO
196 AC_CONFIG_FILES(Makefile test/Makefile)
197 AC_CONFIG_FILES(autoconf/Doxyfile)
198 AC_CONFIG_FILES(doc/Makefile)
199 AC_CONFIG_FILES(source/version.c)
200 AC_CONFIG_FILES(include/cloog/version.h)
201 AC_CONFIG_FILES([genversion.sh], [chmod +x genversion.sh])
202 AC_CONFIG_COMMANDS([version.h],
203         [echo '#define CLOOG_HEAD "'`./genversion.sh`'"' > version.h])
204 AC_CONFIG_COMMANDS([doc/gitversion.texi],
205         [echo '@set VERSION '`./genversion.sh`'' > doc/gitversion.texi])
206 if test $with_isl = bundled; then
207         AC_CONFIG_SUBDIRS(isl)
209 AC_CONFIG_COMMANDS_POST([
210         ac_configure_args="$ac_configure_args $cloog_configure_args"
212 AC_OUTPUT
215 echo "             /*-----------------------------------------------*"
216 echo "              *           CLooG configuration is OK           *"
217 echo "              *-----------------------------------------------*/"
218 echo "It appears that your system is OK to start CLooG compilation. You need"
219 echo "now to type \"make\". After compilation, you should check CLooG by typing"
220 echo "\"make check\". If no problem occur, you can type \"make uninstall\" if"
221 echo "you are upgrading an old version. Lastly type \"make install\" to install"
222 echo "CLooG on your system (log as root if necessary)."