add t12.in esum.in
[barvinok.git] / configure.in
blob363d846fdccbcca3d89b6a9587ec17a357bf4324
1 AC_INIT
2 AM_INIT_AUTOMAKE(barvinok, 0.10)
3 AC_PROG_LIBTOOL
4 AC_PROG_CXX
5 AC_SUBST(versioninfo)
6 versioninfo=4:0:0
8 dnl Check for GMP library
9 AC_MSG_CHECKING(whether to use GMP)
10 AC_ARG_WITH(libgmp, 
11         [  --with-libgmp           DIR Location of the GMP Distribution], 
12         gmp_package=$withval, gmp_package=yes)
13 if test "x$gmp_package" = "xno"; then
14         AC_MSG_RESULT(no)
15         AC_MSG_ERROR(Need gmp)
16 else
17         AC_MSG_RESULT(yes)
18         if test "x$gmp_package" != "xyes"; then
19             GMP_DIR=$gmp_package
20             if test ! -d "$GMP_DIR"; then
21                 AC_ERROR(Directory given for GMP Distribution is not a directory)
22             fi
23             CPPFLAGS="-I$GMP_DIR/include $CPPFLAGS"
24             LDFLAGS="-L$GMP_DIR/lib $LDFLAGS"
25         fi
26         poly_cv_gmpfatal="no"
27         AC_CHECK_HEADER(gmp.h,
28                 [AC_CHECK_LIB(gmp,main,
29                     [],
30                     [poly_cv_gmpfatal="yes"])],
31                 [poly_cv_gmpfatal="yes"])
32         if test "$poly_cv_gmpfatal" = "yes"; then
33                 AC_MSG_ERROR([GMP not found])
34         fi
36 AC_CHECK_DECL(mpz_divisible_p,[],[AC_LIBOBJ(mpz_divisible_p)],[#include <gmp.h>])
38 AC_ARG_WITH(polylib,
39             [  --with-polylib=DIR      DIR Location of PolyLib],
40             [ echo "Package polylib : $withval" && polylib_package=$withval],  
41             [ polylib_package=yes ])
43 if test "$polylib_package" = "no"; then
44     AC_MSG_ERROR(Need polylib)
47 if test "$polylib_package" != "yes"; then
48     CPPFLAGS="-I$polylib_package/include $CPPFLAGS"
49     LDFLAGS="-L$polylib_package/lib $LDFLAGS"
50     LD_LIBRARY_PATH="$polylib_package/lib:$LD_LIBRARY_PATH"
51     export LD_LIBRARY_PATH
54 AC_CHECK_LIB(polylibgmp, PolyhedronTSort,[],[
55     AC_MSG_ERROR(Need polylib)
57 AC_REPLACE_FUNCS(Enumeration_Free reduce_evalue)
58 AC_TRY_RUN([
59 #include <polylib/polylibgmp.h>
61 int main()
63     int i, j;
64     Polyhedron *P;
65     Matrix *M = Matrix_Alloc(6,5);
66     for (i = 0; i < 6; ++i) {
67         value_set_si(M->p[i][0], 1);
68         for (j = 1; j < 4; ++j)
69             value_set_si(M->p[i][j], (j-1 == i/2) * (1-2*(i%2)));
70         value_set_si(M->p[i][4], i%2);
71     }
72     P = Constraints2Polyhedron(M, 6);
73     return !(P->NbRays == 8);
75 ],,
76 AC_MSG_WARN([This version of polylib does not automatically])
77 AC_MSG_WARN([enlarge the chernikova table space]))
79 AC_TRY_RUN([
80 #include <polylib/polylibgmp.h>
82 int main()
84     enode *en = new_enode(polynomial, 1, 1);
85     return !(en->arr[0].x.p == NULL);
87 ],,
88 AC_MSG_WARN([This version of polylib leaks]))
90 AC_MSG_CHECKING([number of arguments of Polyhedron_Enumerate])
91 AC_TRY_COMPILE([#include <polylib/polylibgmp.h>], 
92                [Polyhedron_Enumerate(NULL,NULL,0,NULL)],
93                [AC_MSG_RESULT(4)
94                 AC_DEFINE(HAVE_ENUMERATE4,[],
95                           [Polyhedron_Enumerate takes four arguments])],
96                [AC_MSG_RESULT(3)])
98 AC_MSG_CHECKING([number of arguments of count_points])
99 AC_TRY_COMPILE([#include <polylib/polylibgmp.h>], 
100                [count_points(0,NULL,NULL,NULL)],
101                [AC_MSG_RESULT(4)
102                 AC_DEFINE(HAVE_COUNT_POINTS4,[],
103                           [count_points takes four arguments])],
104                [AC_MSG_RESULT(3)])
106 AC_MSG_CHECKING(if --enable-fractional option specified)
107 AC_ARG_ENABLE(fractional,
108             [  --enable-fractional     Use fractional representation],
109             [bv_cv_fractional=$enableval], [bv_cv_fractional="no"])
110 AC_MSG_RESULT($bv_cv_fractional)
111 AC_MSG_CHECKING(if --enable-modulo option specified)
112 AC_ARG_ENABLE(modulo,
113             [  --enable-modulo         Use fractional representation],
114             [bv_cv_modulo=$enableval], [bv_cv_modulo="no"])
115 AC_MSG_RESULT($bv_cv_modulo)
116 if test "x$bv_cv_modulo" != "xno" -o "x$bv_cv_fractional" != "xno"; then
117         AC_DEFINE(USE_MODULO,[], [Use fractional representation])
120 AC_ARG_WITH(ntl,
121             [  --with-ntl=DIR          DIR Location of NTL],
122             [ echo "Package ntl : $withval" && ntl_package=$withval],  
123             [ ntl_package=yes ])
125 if test "$ntl_package" = "no"; then
126     AC_MSG_ERROR(Need ntl)
129 if test "$ntl_package" != "yes"; then
130     CPPFLAGS="-I$ntl_package/include $CPPFLAGS"
131     LDFLAGS="-L$ntl_package/lib $LDFLAGS"
134 AC_CHECK_LIB(ntl, main,[],[
135     AC_MSG_ERROR(Need ntl)
138 AC_CONFIG_HEADERS(config.h)
139 AC_OUTPUT(Makefile)