add isl_set_fix_dim_si
[platform/upstream/isl.git] / configure.ac
1 AC_INIT
2 AM_INIT_AUTOMAKE(isl, 0.00)
3
4 AC_PROG_CC
5
6 AC_PROG_LIBTOOL
7
8 AC_ARG_WITH(gmp_prefix,
9         [AS_HELP_STRING([--with-gmp-prefix=DIR],
10                         [Location of GMP installation])])
11
12 AC_SUBST(GMP_CPPFLAGS)
13 AC_SUBST(GMP_LDFLAGS)
14 if test "x$with_gmp_prefix" != "x"; then
15         isl_configure_args="$isl_configure_args --with-gmp=$with_gmp_prefix"
16         GMP_CPPFLAGS="-I$with_gmp_prefix/include"
17         GMP_LDFLAGS="-L$with_gmp_prefix/lib"
18 fi
19
20 AC_DEFUN([ISL_SUBMODULE],[
21         AC_ARG_WITH($1_prefix,
22                 [AS_HELP_STRING([--with-$1-prefix=DIR],
23                                 [Location of system $1])])
24         AC_ARG_WITH($1_builddir,
25                     [AS_HELP_STRING([--with-$1-builddir=DIR],
26                                     [Location of $1 builddir])])
27         if test "x$with_$1_prefix" != "x"; then
28                 if test "x$with_$1" != "x" -a "x$with_$1" != "xsystem"; then
29                         AC_MSG_ERROR([Setting $with_$1_prefix implies use of system $1])
30                 fi
31                 with_$1="system"
32         fi
33         if test "x$with_$1_builddir" != "x"; then
34                 if test "x$with_$1" != "x" -a "x$with_$1" != "xbuild"; then
35                         AC_MSG_ERROR([Setting $with_$1_builddir implies use of build $1])
36                 fi
37                 with_$1="build"
38                 $1_srcdir=`echo @abs_srcdir@ | $with_$1_builddir/config.status --file=-`
39                 AC_MSG_NOTICE($1 sources in $$1_srcdir)
40         fi
41         case "$with_$1" in
42         no|bundled|system|build)
43                 ;;
44         *)
45                 if test -d $srcdir/.git -a \
46                         -d $srcdir/$1 -a \
47                         ! -d $srcdir/$1/.git; then
48                         AC_MSG_WARN(
49 [git repo detected, but submodule $1 not initialized])
50                         AC_MSG_WARN([You may want to run])
51                         AC_MSG_WARN([   git submodule init])
52                         AC_MSG_WARN([   git submodule update])
53                         AC_MSG_WARN([   sh autogen.sh])
54                 fi
55                 if test -f $srcdir/$1/configure; then
56                         with_$1="bundled"
57                 fi
58                 ;;
59         esac
60 ])
61
62 AC_ARG_WITH(polylib,
63         [AS_HELP_STRING([--with-polylib=build|system|no],
64                         [Which PolyLib to use])])
65 ISL_SUBMODULE(polylib)
66 if test "x$with_polylib" = "x"; then
67         with_polylib="no"
68 fi
69 AC_MSG_CHECKING([which polylib to use])
70 AC_MSG_RESULT($with_polylib)
71
72 have_polylib=false
73 AC_SUBST(POLYLIB_CPPFLAGS)
74 AC_SUBST(POLYLIB_LDFLAGS)
75 AC_SUBST(POLYLIB_LIBS)
76 case "$with_polylib" in
77         build)
78                 polylibs=`echo @polylibs@ | $with_polylib_builddir/config.status --file=-`
79                 AC_MSG_NOTICE(Configured polylibs: $polylibs)
80                 isl_cv_polylib=missing
81                 for bits in $polylibs; do
82                         if test "$bits" = "libpolylibgmp.la"; then
83                                 isl_cv_polylib=ok
84                         fi
85                 done
86                 if test "$isl_cv_polylib" = "missing"; then
87                         AC_MSG_ERROR(no gmp polylib configured)
88                 fi
89                 POLYLIB_CPPFLAGS="-I$with_polylib_builddir/include -I$polylib_srcdir/include"
90                 POLYLIB_LIBS="$with_polylib_builddir/libpolylibgmp.la"
91         ;;
92         system)
93                 POLYLIB_LIBS="-lpolylibgmp"
94                 if test "x$with_polylib_prefix" != "x"; then
95                         POLYLIB_CPPFLAGS="-I$with_polylib_prefix/include"
96                         POLYLIB_LDFLAGS="-L$with_polylib_prefix/lib"
97                 fi
98                 SAVE_CPPFLAGS="$CPPFLAGS"
99                 SAVE_LDFLAGS="$LDFLAGS"
100                 CPPFLAGS="$POLYLIB_CPPFLAGS $CPPFLAGS"
101                 LDFLAGS="$POLYLIB_LDFLAGS $LDFLAGS"
102                 AC_CHECK_LIB(polylibgmp, PolyhedronTSort,[ true ],[
103                         AC_MSG_ERROR(Need polylib)
104                 ])
105                 CPPFLAGS="$SAVE_CPPFLAGS"
106                 LDFLAGS="$SAVE_LDFLAGS"
107         ;;
108         no)
109         ;;
110         *)
111                 AC_MSG_ERROR(unsupported)
112         ;;
113 esac
114 if test "$with_polylib" != "no"; then
115         AC_DEFINE(ISL_POLYLIB,,polylib is available)
116         have_polylib=true
117 fi
118 AM_CONDITIONAL(HAVE_POLYLIB, test x$have_polylib = xtrue)
119
120 AC_ARG_WITH(piplib,
121         [AS_HELP_STRING([--with-piplib=build|bundled|system|no],
122                         [Which piplib to use])])
123 ISL_SUBMODULE(piplib)
124 if test "x$with_piplib" = "x"; then
125         with_piplib="system"
126 fi
127 AC_MSG_CHECKING([which piplib to use])
128 AC_MSG_RESULT($with_piplib)
129
130 have_piplib=false
131 AC_SUBST(PIPLIB_CPPFLAGS)
132 AC_SUBST(PIPLIB_LDFLAGS)
133 AC_SUBST(PIPLIB_LIBS)
134 case "$with_piplib" in
135         bundled)
136                 PIPLIB_CPPFLAGS="-I$srcdir/piplib/include"
137                 isl_configure_args="$isl_configure_args --enable-mp-version"
138         ;;
139         build)
140                 PIPLIB_CPPFLAGS="-I$piplib_srcdir/include"
141                 PIPLIB_LIBS="$with_piplib_builddir/libpiplibMP.la"
142         ;;
143         system)
144                 PIPLIB_LIBS="-lpiplibMP"
145                 if test "x$with_piplib_prefix" != "x"; then
146                         PIPLIB_CPPFLAGS="-I$with_piplib_prefix/include"
147                         PIPLIB_LDFLAGS="-L$with_piplib_prefix/lib"
148                 fi
149                 SAVE_CPPFLAGS="$CPPFLAGS"
150                 SAVE_LDFLAGS="$LDFLAGS"
151                 CPPFLAGS="$PIPLIB_CPPFLAGS $CPPFLAGS"
152                 LDFLAGS="$PIPLIB_LDFLAGS $LDFLAGS"
153                 AC_CHECK_LIB(piplibMP, pip_solve,[
154                         AC_CHECK_MEMBER(PipOptions.Urs_parms, [], [
155                                 AC_MSG_ERROR([Piplib too old; please install version 1.3.6 or newer])
156                         ],[#include <piplib/piplibMP.h>])
157                 ],[
158                         AC_MSG_ERROR([Piplib not found])
159                 ])
160                 CPPFLAGS="$SAVE_CPPFLAGS"
161                 LDFLAGS="$SAVE_LDFLAGS"
162         ;;
163         no)
164         ;;
165         *)
166                 AC_MSG_ERROR(unsupported)
167         ;;
168 esac
169 if test "$with_piplib" != "no"; then
170         AC_DEFINE(ISL_PIPLIB,,piplib is available)
171         have_piplib=true
172 fi
173 AM_CONDITIONAL(HAVE_PIPLIB, test x$have_piplib = xtrue)
174 AM_CONDITIONAL(BUNDLED_PIPLIB, test $with_piplib = bundled)
175
176 AC_CONFIG_HEADERS(config.h)
177 AC_CONFIG_HEADERS(include/isl_ctx.h)
178 AC_CONFIG_FILES(Makefile)
179 if test $with_piplib = bundled; then
180         AC_CONFIG_SUBDIRS(piplib)
181 fi
182 AC_CONFIG_COMMANDS_POST([
183         dnl pass on arguments to subdir configures, but don't
184         ac_configure_args="$ac_configure_args $isl_configure_args"
185         ac_configure_args="$ac_configure_args $isl_configure_args"
186 ])
187 AC_OUTPUT