| dnl |
| dnl /*+------------------------------------------------------------------** |
| dnl ** OpenScop Library ** |
| dnl **------------------------------------------------------------------** |
| dnl ** configure.in ** |
| dnl **------------------------------------------------------------------** |
| dnl ** First version: 30/04/2008 ** |
| dnl **------------------------------------------------------------------** |
| dnl |
| dnl |
| dnl ************************************************************************** |
| dnl * OpenScop: Structures and formats for polyhedral tools to talk together * |
| dnl ************************************************************************** |
| dnl * ,___,,_,__,,__,,__,,__,,_,__,,_,__,,__,,___,_,__,,_,__, * |
| dnl * / / / // // // // / / / // // / / // / /|,_, * |
| dnl * / / / // // // // / / / // // / / // / / / /\ * |
| dnl * |~~~|~|~~~|~~~|~~~|~~~|~|~~~|~|~~~|~~~|~~~|~|~~~|~|~~~|/_/ \ * |
| dnl * | G |C| P | = | L | P |=| = |C| = | = | = |=| = |=| C |\ \ /\ * |
| dnl * | R |l| o | = | e | l |=| = |a| = | = | = |=| = |=| L | \# \ /\ * |
| dnl * | A |a| l | = | t | u |=| = |n| = | = | = |=| = |=| o | |\# \ \ * |
| dnl * | P |n| l | = | s | t |=| = |d| = | = | = | | |=| o | | \# \ \ * |
| dnl * | H | | y | | e | o | | = |l| | | = | | | | G | | \ \ \ * |
| dnl * | I | | | | e | | | | | | | | | | | | | \ \ \ * |
| dnl * | T | | | | | | | | | | | | | | | | | \ \ \ * |
| dnl * | E | | | | | | | | | | | | | | | | | \ \ \ * |
| dnl * | * |*| * | * | * | * |*| * |*| * | * | * |*| * |*| * | / \* \ \ * |
| dnl * | O |p| e | n | S | c |o| p |-| L | i | b |r| a |r| y |/ \ \ / * |
| dnl * '---'-'---'---'---'---'-'---'-'---'---'---'-'---'-'---' '--' * |
| dnl * * |
| dnl * Copyright (C) 2008 University Paris-Sud 11 and INRIA * |
| dnl * * |
| dnl * (3-clause BSD license) * |
| dnl * Redistribution and use in source and binary forms, with or without * |
| dnl * modification, are permitted provided that the following conditions * |
| dnl * are met: * |
| dnl * * |
| dnl * 1. Redistributions of source code must retain the above copyright * |
| dnl * notice, this list of conditions and the following disclaimer. * |
| dnl * 2. Redistributions in binary form must reproduce the above copyright * |
| dnl * notice, this list of conditions and the following disclaimer in the * |
| dnl * documentation and/or other materials provided with the distribution.* |
| dnl * 3. The name of the author may not be used to endorse or promote * |
| dnl * products derived from this software without specific prior written * |
| dnl * permission. * |
| dnl * * |
| dnl * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * |
| dnl * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * |
| dnl * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * |
| dnl * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, * |
| dnl * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * |
| dnl * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * |
| dnl * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * |
| dnl * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * |
| dnl * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * |
| dnl * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * |
| dnl * POSSIBILITY OF SUCH DAMAGE. * |
| dnl * * |
| dnl * OpenScop Library, a library to manipulate OpenScop formats and data * |
| dnl * structures. Written by: * |
| dnl * Cedric Bastoul <Cedric.Bastoul@u-psud.fr> and * |
| dnl * Louis-Noel Pouchet <Louis-Noel.pouchet@inria.fr> * |
| dnl * * |
| dnl **************************************************************************/ |
| dnl |
| dnl Input file for autoconf to build a configuration shellscript. |
| |
| |
| AC_PREREQ(2.13) |
| dnl Fill here the @bug email adress. |
| AC_INIT([osl], [0.8.1], [cedric.bastoul@u-psud.fr,pouchet@cse.ohio-state.edu]) |
| dnl A common file, which serve as a test. |
| AC_CONFIG_SRCDIR([include/osl/macros.h]) |
| dnl Put as most as possible configuration files to an auxialiry |
| dnl directory. |
| AC_CONFIG_AUX_DIR([autoconf]) |
| dnl Initialize automake. Here, a special tar version that enables |
| dnl (very) long filenames. |
| AM_INIT_AUTOMAKE([1.9 tar-ustar no-define foreign dist-bzip2]) |
| |
| |
| dnl /************************************************************************** |
| dnl * Checking * |
| dnl **************************************************************************/ |
| |
| |
| dnl Checks for programs. |
| AC_PROG_CC |
| AC_PROG_LN_S |
| AC_PROG_MAKE_SET |
| AC_CHECK_PROG(CD, cd) |
| AC_PROG_LIBTOOL |
| AC_CHECK_PROGS(DOXYGEN,doxygen,doxygen) |
| |
| dnl Checks for typedefs, structures, and compiler characteristics. |
| AC_C_CONST |
| AC_TYPE_SIZE_T |
| |
| dnl Checks for header files. |
| AC_HEADER_STDC |
| AC_CHECK_HEADERS([errno.h stddef.h stdlib.h string.h strings.h unistd.h]) |
| |
| dnl Checks for library functions. |
| AC_CHECK_FUNCS(strtol) |
| |
| |
| dnl /************************************************************************** |
| dnl * Option setting * |
| dnl **************************************************************************/ |
| |
| dnl Some default values cause I'm not sure whether autoconf set them, while |
| dnl documentation says it does... |
| gmp_package="yes" |
| gmp_include_package="yes" |
| gmp_library_package="yes" |
| gmp_flag="OSL_GMP_IS_HERE" |
| |
| ASKED_FOR_GMP="no" |
| |
| dnl --with-gmp=gmp-path |
| AC_ARG_WITH(gmp, |
| [ --with-gmp=DIR DIR where the gmp package is installed], |
| [ echo "Package gmp : $withval" && |
| gmp_package=$withval && |
| GMP_INC=$gmp_package/include && |
| GMP_LIB=$gmp_package/lib && |
| ASKED_FOR_GMP="yes"]) |
| |
| AC_ARG_WITH(gmp-include, |
| [ --with-gmp-include=DIR DIR where gmp.h is installed], |
| [ echo "Package gmp-include : $withval" && |
| gmp_include_package=$withval && |
| GMP_INC=$gmp_include_package && |
| ASKED_FOR_GMP="yes"]) |
| |
| AC_ARG_WITH(gmp-library, |
| [ --with-gmp-library=DIR DIR where the gmp library is installed], |
| [ echo "Package gmp-library : $withval" && |
| gmp_library_package=$withval && |
| GMP_LIB=$gmp_library_package && |
| ASKED_FOR_GMP="yes"]) |
| |
| |
| dnl /************************************************************************** |
| dnl * Where is GMP? * |
| dnl **************************************************************************/ |
| |
| |
| dnl Checking for gmp |
| AC_MSG_CHECKING(whether gmp works) |
| if test "$gmp_package" = "no"; then |
| echo "GMP package not defined" |
| AC_MSG_RESULT(no) |
| else |
| if test "$ASKED_FOR_GMP" = "no"; then |
| echo "Mode normal GMP" |
| AC_CHECK_HEADER(gmp.h, |
| [AC_CHECK_LIB(gmp, |
| __gmpz_init, |
| [LIBS="$LIBS -lgmp" && |
| CPPFLAGS="-D$gmp_flag $CPPFLAGS"], |
| [echo "Cannot find gmp library." && |
| echo "MP precision will not be supported."])], |
| [echo "Can't find gmp headers." && |
| echo "MP precision will not be supported."]) |
| else |
| dnl Default given by --with-X is "yes", --without-X is "no". We also |
| dnl initialized manually all gmp_package* variables to "yes" (thus they are |
| dnl supposed to be "yes" except if the user set them himself). |
| |
| if test "$gmp_package" != "yes" ; then |
| echo "(GMP path has been set by user)" |
| GMP_DIR=$gmp_package |
| CPPFLAGS="-I$GMP_DIR/include $CPPFLAGS" |
| LDFLAGS="-L$GMP_DIR/lib $LDFLAGS" |
| fi |
| |
| if test "$gmp_include_package" != "yes" ; then |
| CPPFLAGS="-I$GMP_INC $CPPFLAGS" |
| fi |
| |
| if test "$gmp_library_package" != "yes" ; then |
| LDFLAGS="-L$GMP_LIB $LDFLAGS" |
| fi |
| |
| AC_CHECK_HEADER(gmp.h, |
| [], |
| [AC_MSG_ERROR("Cannot find gmp headers.")]) |
| AC_CHECK_LIB(gmp, |
| __gmpz_init, |
| [LIBS="$LIBS -lgmp" && |
| CPPFLAGS="-D$gmp_flag $CPPFLAGS"], |
| [AC_MSG_ERROR("Cannot find gmp library.")]) |
| |
| AC_MSG_RESULT(yes) |
| fi |
| fi |
| |
| |
| dnl /************************************************************************** |
| dnl * Substitutions * |
| dnl **************************************************************************/ |
| |
| |
| dnl Substitutions to do. |
| AC_SUBST(ac_aux_dir) |
| |
| dnl Configure Makefiles. |
| AC_CONFIG_FILES([ |
| Makefile |
| doc/Makefile |
| doc/Doxyfile |
| include/Makefile |
| include/osl/scop.h |
| source/Makefile |
| tests/Makefile |
| ], |
| [test -z "$CONFIG_HEADERS" || echo timestamp > source/stamp-h.in]) |
| |
| AC_OUTPUT |
| |
| |
| echo " /*-----------------------------------------------*" |
| echo " * OpenScop Library configuration is OK *" |
| echo " *-----------------------------------------------*/" |
| echo "It appears that your system is OK to start the OpenScop Library compilation." |
| echo "You need now to type \"make\". Then type \"make install\" to install it on your" |
| echo "system (log as root if necessary)." |