domain.c: remove some unused functions
[cloog.git] / configure.in
blob870d88c2850cb780e4680ff1349e267682c2d0d3
2 dnl /**-------------------------------------------------------------------**
3 dnl  **                              CLooG                                **
4 dnl  **-------------------------------------------------------------------**
5 dnl  **                           configure.in                            **
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 is free software; you can redistribute it and/or modify it under   *
23 dnl * the terms of the GNU General Public License as published by the Free    *
24 dnl * Software Foundation; either version 2 of the License, or (at your       *
25 dnl * option) any later version.                                              *
26 dnl *                                                                         *
27 dnl * This software is distributed in the hope that it will be useful, but    *
28 dnl * WITHOUT ANY WARRANTY; without even the implied warranty of              *
29 dnl * MERCHANTABILITYor FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        *
30 dnl * General Public License for more details.                                *
31 dnl *                                                                         *
32 dnl * You should have received a copy of the GNU General Public License along *
33 dnl * with software; if not, write to the Free Software Foundation, Inc.,     *
34 dnl * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                  *
35 dnl *                                                                         *
36 dnl * CLooG, the Chunky Loop Generator                                        *
37 dnl * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                      *
38 dnl *                                                                         *
39 dnl ***************************************************************************/
41 AC_PREREQ(2.13)
42 AC_INIT(source/cloog.c)
43 AC_CONFIG_AUX_DIR(autoconf)
44 AM_INIT_AUTOMAKE(cloog, 0.14.0)
45 dnl default version
46 BITS="64"
48 dnl /**************************************************************************
49 dnl  *                              Checking                                  *
50 dnl  **************************************************************************/
52 dnl Checks for programs.
53 AC_PROG_CC
54 AC_PROG_LN_S
55 AC_PROG_MAKE_SET
56 AC_CHECK_PROG(CD, cd)
57 dnl Configure needs an empty install.sh file with this, i HATE that...
58 AC_PROG_INSTALL
59 AC_PROG_LIBTOOL
60 AC_CHECK_PROG(TEXI2DVI, texi2dvi, texi2dvi, [])
61 AM_CONDITIONAL(HAVE_TEXI2DVI, test -n "$TEXI2DVI")
63 CFLAGS="-fomit-frame-pointer"
65 dnl Checks for typedefs, structures, and compiler characteristics.
66 AC_C_CONST
67 AC_TYPE_SIZE_T
71 dnl Checks for header files.
72 AC_HEADER_STDC
75 dnl Checks for library functions.
76 AC_CHECK_FUNCS(strtol)
79 dnl /**************************************************************************
80 dnl  *                             Option setting                             *
81 dnl  **************************************************************************/
83 dnl Some default values cause I'm not sure whether autoconf set them, while
84 dnl documentation says it does...
85 gmp_package="yes"
86 gmp_include_package="yes"
87 gmp_library_package="yes"
89 MP_BITS="MP"
90 MP_DFLAGS=-DLINEAR_VALUE_IS_MP
91 NEED_MP="no"
93 dnl --with-polylib=polylib-path
94 AC_ARG_WITH(polylib_prefix,
95             [AS_HELP_STRING([--with-polylib-prefix=DIR],
96                             [Prefix of PolyLib installation])])
97 AC_ARG_WITH(polylib_exec_prefix,
98             [AS_HELP_STRING([--with-polylib-exec-prefix=DIR],
99                             [Exec prefix of PolyLib installation])])
100 AC_ARG_WITH(polylib_builddir,
101             [AS_HELP_STRING([--with-polylib-builddir=DIR],
102                             [Location of PolyLib builddir])])
103 AC_ARG_WITH(bits,
104             [  --with-bits=32|64|gmp   PolyLib library type to use],
105             [ echo "polylib$withval"; BITS=$withval ])
107 dnl --with-gmp=gmp-path
108 AC_ARG_WITH(gmp,
109         [  --with-gmp=DIR          DIR where the gmp package is installed],
110         [ echo "Package gmp : $withval" &&
111           gmp_package=$withval &&
112           GMP_INC=$gmp_package/include &&
113           GMP_LIB=$gmp_package/lib &&
114           NEED_MP="yes"])
116 AC_ARG_WITH(gmp-include,
117         [  --with-gmp-include=DIR  DIR where gmp.h is installed],
118         [ echo "Package gmp-include : $withval" &&
119           gmp_include_package=$withval &&
120           GMP_INC=$gmp_include_package &&
121           NEED_MP="yes"])
123 AC_ARG_WITH(gmp-library,
124         [  --with-gmp-library=DIR  DIR where the gmp library is installed],
125         [ echo "Package gmp-library : $withval" &&
126           gmp_library_package=$withval &&
127           GMP_LIB=$gmp_library_package &&
128           NEED_MP="yes"])
131 dnl /**************************************************************************
132 dnl  *                            Where is GMP?                               *
133 dnl  **************************************************************************/
136 dnl Checking for gmp
137 AC_MSG_CHECKING(whether gmp works)
138 if test "$gmp_package" = "no"; then
139   echo "GMP package not defined"
140   AC_MSG_RESULT(no)
141   TO_BUILD_MP=""
142 else
143   if test "$NEED_MP" = "no"; then
144     echo "Mode normal GMP"
145     TO_BUILD="$TO_BUILD MP"
146     AC_CHECK_HEADER(gmp.h,
147                     [AC_CHECK_LIB(gmp,
148                                   __gmpz_init,
149                                   [LIBS="$LIBS -lgmp"],
150                                   [echo "Can't find gmp library." &&
151                                    echo "MP version will not be builded." &&
152                                    TO_BUILD_MP=""])],
153                     [echo "Can't find gmp headers." &&
154                      echo "MP version will not be builded." &&
155                      TO_BUILD_MP=""])
156   else
157     dnl Default given by --with-X is "yes", --without-X is "no". We also
158     dnl initialized manually all gmp_package* variables to "yes" (thus they are
159     dnl supposed to be "yes" except if the user set them himself).
160     
161     if test "$gmp_package" != "yes" ; then
162       echo "(GMP path has been set by user)"
163       GMP_DIR=$gmp_package
164       dnl Useful for AC_CHECK_X to find what we want.
165       CPPFLAGS="-I$GMP_DIR/include $CPPFLAGS"
166       LDFLAGS="-L$GMP_DIR/lib $LDFLAGS"
167     fi
168     
169     if test "$gmp_include_package" != "yes" ; then
170       CPPFLAGS="-I$GMP_INC $CPPFLAGS"
171     fi
172     
173     if test "$gmp_library_package" != "yes" ; then
174       LDFLAGS="-L$GMP_LIB $LDFLAGS"
175     fi
176      
177     AC_CHECK_HEADER(gmp.h,
178                     [],
179                     [AC_MSG_ERROR(Can't find gmp headers.)])
180     AC_CHECK_LIB(gmp,
181                  __gmpz_init,
182                  [LIBS="$LIBS -lgmp"],
183                  [AC_MSG_ERROR(Can't find gmp library.)])
184     
185     AC_MSG_RESULT(yes)
186   fi
190 dnl /**************************************************************************
191 dnl  *                          Where is PolyLib?                             *
192 dnl  **************************************************************************/
194 polylibs="64 32"
195 case "$BITS" in
196     32|64|gmp)
197         polylibs=$BITS
198     ;;
199 esac
201 dnl Checking for PolyLib
202 AC_SUBST(cl_cv_polylib)
203 AC_SUBST(POLYLIB_CPPFLAGS)
204 AC_SUBST(POLYLIB_LDFLAGS)
205 AC_SUBST(POLYLIB_LIBS)
207 if test "x$with_polylib_prefix" != "x" -a "x$with_polylib_exec_prefix" = "x"
208 then
209         with_polylib_exec_prefix=$with_polylib_prefix
211 if test "x$with_polylib_prefix" != "x" -a "x$with_polylib_builddir" != "x"; then
212         AC_MSG_ERROR(
213         [--with-polylib-prefix and --with-polylib-builddir are mutually exclusive])
216 AC_MSG_CHECKING(for location of PolyLib)
217 if test "x$with_polylib_builddir" != "x"; then
218         AC_MSG_RESULT(built in $with_polylib_builddir)
219         polylib_srcdir=`echo @abs_srcdir@ | $with_polylib_builddir/config.status --file=-`
220         AC_MSG_NOTICE(PolyLib sources in $polylib_srcdir)
221         polylib_polylibs=`echo @polylibs@ | $with_polylib_builddir/config.status --file=-`
222         AC_MSG_NOTICE(Configured polylibs: $polylib_polylibs)
223         CPPFLAGS="-I$with_polylib_builddir/include -I$polylib_srcdir/include $CPPFLAGS"
224         for BITS in $polylibs; do
225                 cl_cv_polylib=missing
226                 for PL in $polylib_polylibs; do
227                         if test "libpolylib$BITS.la" = $PL; then
228                                 cl_cv_polylib="polylib$BITS"
229                                 break;
230                         fi
231                 done
232                 if test "$cl_cv_polylib" != "missing"; then
233                         LIBS="$with_polylib_builddir/lib$cl_cv_polylib.la $LIBS"
234                         break;
235                 fi
236         done
237 else
238         if test "x$with_polylib_prefix" != "x"; then
239                 AC_MSG_RESULT(installed in $with_polylib_exec_prefix)
240                 CPPFLAGS="-I$with_polylib_prefix/include $CPPFLAGS"
241                 LDFLAGS="-L$with_polylib_exec_prefix/lib $LDFLAGS"
242                 LD_LIBRARY_PATH="$with_polylib_exec_prefix/lib:$LD_LIBRARY_PATH"
243                 export LD_LIBRARY_PATH
244         else
245                 AC_MSG_RESULT(installed in standard location)
246         fi
247         for BITS in $polylibs; do
248                 cl_cv_polylib="polylib$BITS"
249                 AC_CHECK_HEADER(polylib/$cl_cv_polylib.h,[
250                         AC_CHECK_LIB($cl_cv_polylib,PolyhedronTSort,[
251                                 LIBS="-l$cl_cv_polylib $LIBS"
252                                 break
253                         ])
254                 ])
255                 cl_cv_polylib=missing
256         done
258 if test "$cl_cv_polylib" = "missing"; then
259         AC_MSG_ERROR(Can't find PolyLib.)
262 AC_SUBST(GIT_INDEX)
263 if test -f $srcdir/.git/HEAD; then
264         GIT_INDEX="\$(top_srcdir)/.git/index"
268 dnl /**************************************************************************
269 dnl  *                            Substitutions                               *
270 dnl  **************************************************************************/
273 dnl Substitutions to do in Makefile.in.
274 AC_SUBST(target)
275 AC_SUBST(CC)
276 AC_SUBST(LN_S)
277 AC_SUBST(SHEXT)
279 AC_SUBST(prefix)
280 AC_SUBST(exec_prefix)
281 AC_SUBST(INSTALL)
283 AC_SUBST(BITS)
285 AC_CONFIG_FILES(Makefile test/Makefile include/cloog/cloog.h autoconf/Doxyfile)
286 AC_CONFIG_FILES(doc/Makefile)
287 AC_CONFIG_FILES(source/version.c)
288 AC_CONFIG_FILES([genversion.sh], [chmod +x genversion.sh])
289 AC_CONFIG_COMMANDS([version.h],
290         [echo '#define CLOOG_HEAD "'`./genversion.sh`'"' > version.h])
291 AC_CONFIG_COMMANDS([doc/gitversion.texi],
292         [echo '@set VERSION '`./genversion.sh`'' > doc/gitversion.texi])
293 AC_OUTPUT
296 echo "             /*-----------------------------------------------*"
297 echo "              *           CLooG configuration is OK           *"
298 echo "              *-----------------------------------------------*/"
299 echo "It appears that your system is OK to start CLooG compilation. You need"
300 echo "now to type \"make\". After compilation, you should check CLooG by typing"
301 echo "\"make check\". If no problem occur, you can type \"make uninstall\" if"
302 echo "you are upgrading an old version. Lastly type \"make install\" to install"
303 echo "CLooG on your system (log as root if necessary)."