blob: e7001d367de0603d589ebb5ba52a89d4b82dcb58 [file] [log] [blame]
dnl /**-------------------------------------------------------------------**
dnl ** CLooG **
dnl **-------------------------------------------------------------------**
dnl ** configure.ac **
dnl **-------------------------------------------------------------------**
dnl ** First version: august 7th 2002 **
dnl **-------------------------------------------------------------------**/
dnl
dnl Input file for autoconf to build a configuration shellscript.
dnl To build the configure script from the CLooG's top-level directory, use
dnl autoconf -l autoconf autoconf/configure.in > configure
dnl if it doesn't work (invalid option -l) try -I instead
dnl autoconf -I autoconf autoconf/configure.in > configure
dnl /**************************************************************************
dnl * CLooG : the Chunky Loop Generator (experimental) *
dnl ***************************************************************************
dnl * *
dnl * Copyright (C) 2001 Cedric Bastoul *
dnl * *
dnl * This library is free software; you can redistribute it and/or *
dnl * modify it under the terms of the GNU Lesser General Public *
dnl * License as published by the Free Software Foundation; either *
dnl * version 2.1 of the License, or (at your option) any later version. *
dnl * *
dnl * This library is distributed in the hope that it will be useful, *
dnl * but WITHOUT ANY WARRANTY; without even the implied warranty of *
dnl * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
dnl * Lesser General Public License for more details. *
dnl * *
dnl * You should have received a copy of the GNU Lesser General Public *
dnl * License along with this library; if not, write to the Free Software *
dnl * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
dnl * Boston, MA 02110-1301 USA *
dnl * *
dnl * CLooG, the Chunky Loop Generator *
dnl * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr *
dnl * *
dnl ***************************************************************************/
m4_define([version_major], [0])
m4_define([version_minor], [17])
m4_define([version_revision], [0])
AC_PREREQ(2.53)
AC_INIT([cloog], [version_major.version_minor.version_revision],
[cloog-development@googlegroups.com])
AC_CONFIG_SRCDIR(source/cloog.c)
AC_CONFIG_AUX_DIR(autoconf)
AC_CONFIG_MACRO_DIR([m4])
VERSION_MAJOR=version_major
VERSION_MINOR=version_minor
VERSION_REVISION=version_revision
AC_SUBST(versioninfo)
versioninfo=3:0:0
AM_INIT_AUTOMAKE([foreign])
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
dnl /**************************************************************************
dnl * Checking *
dnl **************************************************************************/
dnl Checks for programs.
AC_PROG_CC
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_CHECK_PROG(CD, cd)
dnl Configure needs an empty install.sh file with this, i HATE that...
AC_PROG_INSTALL
AC_PROG_LIBTOOL
AC_CHECK_PROG(TEXI2DVI, texi2dvi, texi2dvi, [])
AM_CONDITIONAL(HAVE_TEXI2DVI, test -n "$TEXI2DVI")
AX_CC_MAXOPT
AC_SUBST(CFLAGS_WARN)
AX_CFLAGS_WARN_ALL(CFLAGS_WARN)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
dnl Checks for header files.
AC_HEADER_STDC
dnl Checks for library functions.
AC_CHECK_FUNCS(strtol)
dnl /**************************************************************************
dnl * Option setting *
dnl **************************************************************************/
AC_CHECK_FUNCS([getrusage],
[AC_DEFINE([CLOOG_RUSAGE], [], [Print time required to generate code])])
AX_SUBMODULE(isl,no|system|build|bundled,bundled)
BITS="gmp"
dnl /**************************************************************************
dnl * Where is GMP? *
dnl **************************************************************************/
AX_SUBMODULE(gmp,system|build,system)
need_get_memory_functions=false
case "$with_gmp" in
build)
CPPFLAGS="-I$with_gmp_builddir $CPPFLAGS"
LDFLAGS="-L$with_gmp_builddir/$lt_cv_objdir $LDFLAGS"
;;
system)
if test "x$with_gmp_prefix" != "x"; then
CPPFLAGS="-I$with_gmp_prefix/include $CPPFLAGS"
fi
if test "$with_gmp_exec_prefix" != "yes" ; then
LDFLAGS="-L$with_gmp_exec_prefix/lib $LDFLAGS"
fi
;;
esac
case "$with_gmp" in
build|system)
AC_CHECK_HEADER(gmp.h,
[],
[AC_MSG_ERROR(Can't find gmp headers.)])
AC_CHECK_LIB(gmp,
__gmpz_init,
[LIBS="$LIBS -lgmp"],
[AC_MSG_ERROR(Can't find gmp library.)])
AC_CHECK_DECLS(mp_get_memory_functions,[],[
need_get_memory_functions=true
],[#include <gmp.h>])
;;
esac
AM_CONDITIONAL(NEED_GET_MEMORY_FUNCTIONS,
test x$need_get_memory_functions = xtrue)
dnl /**************************************************************************
dnl * Where is isl? *
dnl **************************************************************************/
AC_SUBST(ISL_CPPFLAGS)
AC_SUBST(ISL_LDFLAGS)
AC_SUBST(ISL_LIBS)
case "$with_isl" in
bundled)
ISL_CPPFLAGS="-I$srcdir/isl/include -Iisl/include"
;;
build)
ISL_CPPFLAGS="-I$isl_srcdir/include -I$with_isl_builddir/include"
ISL_LIBS="$with_isl_builddir/libisl.la"
;;
system)
if test "x$with_isl_prefix" != "x"; then
ISL_CPPFLAGS="-I$with_isl_prefix/include"
fi
if test "x$with_isl_exec_prefix" != "x"; then
ISL_LDFLAGS="-L$with_isl_exec_prefix/lib"
fi
ISL_LIBS="-lisl"
esac
AM_CONDITIONAL(BUNDLED_ISL, test $with_isl = bundled)
AM_CONDITIONAL(NO_ISL, test $with_isl = no)
dnl /**************************************************************************
dnl * Where is the OpenScop Library? *
dnl **************************************************************************/
AX_SUBMODULE(osl,no|system|build|bundled,no)
osl_flag="OSL_SUPPORT"
AC_SUBST(OSL_CPPFLAGS)
AC_SUBST(OSL_LDFLAGS)
AC_SUBST(OSL_LIBS)
case "$with_osl" in
bundled)
OSL_CPPFLAGS="-D$osl_flag -I$srcdir/osl/include -Iosl/include"
;;
build)
OSL_CPPFLAGS="-D$osl_flag -I$osl_srcdir/include -I$with_osl_builddir/include"
OSL_LIBS="$with_osl_builddir/libosl.la"
;;
system)
if test "x$with_osl_prefix" != "x"; then
OSL_CPPFLAGS="-D$osl_flag -I$with_osl_prefix/include"
fi
if test "x$with_osl_exec_prefix" != "x"; then
OSL_LDFLAGS="-L$with_osl_exec_prefix/lib"
fi
OSL_LIBS="-losl"
esac
AM_CONDITIONAL(BUNDLED_OSL, test $with_osl = bundled)
AM_CONDITIONAL(NO_OSL, test $with_osl = no)
AC_DEFINE([CLOOG_INT_GMP], 1, [Use arbitrary precision integers])
AC_SUBST(GIT_INDEX)
if test -f $srcdir/.git/HEAD; then
GIT_INDEX="\$(top_srcdir)/.git/index"
fi
dnl /**************************************************************************
dnl * Substitutions *
dnl **************************************************************************/
dnl Substitutions to do in Makefile.in.
AC_SUBST(CC)
AC_SUBST(LN_S)
AC_SUBST(prefix)
AC_SUBST(exec_prefix)
AC_SUBST(INSTALL)
AC_SUBST(BITS)
AC_SUBST(VERSION_MAJOR)
AC_SUBST(VERSION_MINOR)
AC_SUBST(VERSION_REVISION)
PACKAGE_NAME="cloog-isl"
PACKAGE_CFLAGS="-DCLOOG_INT_GMP=1"
AX_CREATE_PKGCONFIG_INFO
AC_CONFIG_FILES(Makefile test/Makefile)
AC_CONFIG_FILES(autoconf/Doxyfile)
AC_CONFIG_FILES(doc/Makefile)
AC_CONFIG_FILES(source/version.c)
AC_CONFIG_FILES(include/cloog/version.h)
AC_CONFIG_FILES([genversion.sh], [chmod +x genversion.sh])
AC_CONFIG_COMMANDS([version.h],
[echo '#define CLOOG_HEAD "'`./genversion.sh`'"' > version.h])
AC_CONFIG_COMMANDS([doc/gitversion.texi],
[echo '@set VERSION '`./genversion.sh`'' > doc/gitversion.texi])
if test $with_isl = bundled; then
AC_CONFIG_SUBDIRS(isl)
fi
if test $with_osl = bundled; then
AC_CONFIG_SUBDIRS(osl)
fi
AC_CONFIG_COMMANDS_POST([
ac_configure_args="$ac_configure_args $cloog_configure_args"
])
AC_OUTPUT
echo " /*-----------------------------------------------*"
echo " * CLooG configuration is OK *"
echo " *-----------------------------------------------*/"
echo "It appears that your system is OK to start CLooG compilation. You need"
echo "now to type \"make\". After compilation, you should check CLooG by typing"
echo "\"make check\". If no problem occur, you can type \"make uninstall\" if"
echo "you are upgrading an old version. Lastly type \"make install\" to install"
echo "CLooG on your system (log as root if necessary)."