31a1414d974c8593f42cd20f58ad1160b6e1771b
[platform/upstream/isl.git] / configure.ac
1 AC_INIT
2 AC_CONFIG_AUX_DIR([.])
3 AC_CONFIG_MACRO_DIR([m4])
4 AM_INIT_AUTOMAKE(isl, 0.00)
5
6 AC_PROG_CC
7
8 AX_CC_MAXOPT
9
10 AC_PROG_LIBTOOL
11
12 AC_CHECK_PROG(PERL, perl, perl, [])
13 AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex, [])
14 AC_CHECK_PROG(POD2HTML, pod2html, pod2html, [])
15
16 AM_CONDITIONAL(GENERATE_DOC, test -n "$PERL" -a -n "$PDFLATEX" -a -n "$POD2HTML")
17
18 AX_CREATE_STDINT_H(include/isl_stdint.h)
19
20 AX_SUBMODULE(gmp,system,system)
21
22 AC_SUBST(GMP_CPPFLAGS)
23 AC_SUBST(GMP_LDFLAGS)
24 if test "x$with_gmp_prefix" != "x"; then
25         isl_configure_args="$isl_configure_args --with-gmp=$with_gmp_prefix"
26         GMP_CPPFLAGS="-I$with_gmp_prefix/include"
27         GMP_LDFLAGS="-L$with_gmp_prefix/lib"
28 fi
29 SAVE_CPPFLAGS="$CPPFLAGS"
30 CPPFLAGS="$GMP_CPPFLAGS $CPPFLAGS"
31 need_get_memory_functions=false
32 AC_CHECK_DECLS(mp_get_memory_functions,[],[
33         need_get_memory_functions=true
34 ],[#include <gmp.h>])
35 CPPFLAGS="$SAVE_CPPFLAGS"
36 AM_CONDITIONAL(NEED_GET_MEMORY_FUNCTIONS, test x$need_get_memory_functions = xtrue)
37
38 AX_SUBMODULE(polylib,no|system|build,no)
39
40 have_polylib=false
41 AC_SUBST(POLYLIB_CPPFLAGS)
42 AC_SUBST(POLYLIB_LDFLAGS)
43 AC_SUBST(POLYLIB_LIBS)
44 case "$with_polylib" in
45         build)
46                 polylibs=`echo @polylibs@ | $with_polylib_builddir/config.status --file=-`
47                 AC_MSG_NOTICE(Configured polylibs: $polylibs)
48                 isl_cv_polylib=missing
49                 for bits in $polylibs; do
50                         if test "$bits" = "libpolylibgmp.la"; then
51                                 isl_cv_polylib=ok
52                         fi
53                 done
54                 if test "$isl_cv_polylib" = "missing"; then
55                         AC_MSG_ERROR(no gmp polylib configured)
56                 fi
57                 POLYLIB_CPPFLAGS="-I$with_polylib_builddir/include -I$polylib_srcdir/include"
58                 POLYLIB_LIBS="$with_polylib_builddir/libpolylibgmp.la"
59         ;;
60         system)
61                 POLYLIB_LIBS="-lpolylibgmp"
62                 if test "x$with_polylib_prefix" != "x"; then
63                         POLYLIB_CPPFLAGS="-I$with_polylib_prefix/include"
64                         POLYLIB_LDFLAGS="-L$with_polylib_prefix/lib"
65                 fi
66                 SAVE_CPPFLAGS="$CPPFLAGS"
67                 SAVE_LDFLAGS="$LDFLAGS"
68                 CPPFLAGS="$POLYLIB_CPPFLAGS $CPPFLAGS"
69                 LDFLAGS="$POLYLIB_LDFLAGS $LDFLAGS"
70                 AC_CHECK_LIB(polylibgmp, PolyhedronTSort,[ true ],[
71                         AC_MSG_ERROR(Need polylib)
72                 ])
73                 CPPFLAGS="$SAVE_CPPFLAGS"
74                 LDFLAGS="$SAVE_LDFLAGS"
75         ;;
76         no)
77         ;;
78         *)
79                 AC_MSG_ERROR(unsupported)
80         ;;
81 esac
82 if test "$with_polylib" != "no"; then
83         AC_DEFINE(ISL_POLYLIB,,polylib is available)
84         have_polylib=true
85 fi
86 AM_CONDITIONAL(HAVE_POLYLIB, test x$have_polylib = xtrue)
87
88 AX_SUBMODULE(piplib,no|system|build|bundled,no)
89
90 have_piplib=false
91 AC_SUBST(PIPLIB_CPPFLAGS)
92 AC_SUBST(PIPLIB_LDFLAGS)
93 AC_SUBST(PIPLIB_LIBS)
94 case "$with_piplib" in
95         bundled)
96                 PIPLIB_CPPFLAGS="-I$srcdir/piplib/include"
97                 isl_configure_args="$isl_configure_args --with-bits=gmp"
98         ;;
99         build)
100                 PIPLIB_CPPFLAGS="-I$piplib_srcdir/include"
101                 PIPLIB_LIBS="$with_piplib_builddir/libpiplibMP.la"
102         ;;
103         system)
104                 PIPLIB_LIBS="-lpiplibMP"
105                 if test "x$with_piplib_prefix" != "x"; then
106                         PIPLIB_CPPFLAGS="-I$with_piplib_prefix/include"
107                         PIPLIB_LDFLAGS="-L$with_piplib_prefix/lib"
108                 fi
109                 SAVE_CPPFLAGS="$CPPFLAGS"
110                 SAVE_LDFLAGS="$LDFLAGS"
111                 CPPFLAGS="$PIPLIB_CPPFLAGS $CPPFLAGS"
112                 LDFLAGS="$PIPLIB_LDFLAGS $LDFLAGS"
113                 AC_CHECK_LIB(piplibMP, pip_solve,[
114                         AC_CHECK_MEMBER(PipOptions.Urs_parms, [], [
115                                 AC_MSG_ERROR([Piplib too old; please install version 1.3.6 or newer])
116                         ],[#include <piplib/piplibMP.h>])
117                 ],[
118                         AC_MSG_ERROR([Piplib not found])
119                 ])
120                 CPPFLAGS="$SAVE_CPPFLAGS"
121                 LDFLAGS="$SAVE_LDFLAGS"
122         ;;
123         no)
124         ;;
125         *)
126                 AC_MSG_ERROR(unsupported)
127         ;;
128 esac
129 if test "$with_piplib" != "no"; then
130         AC_DEFINE(ISL_PIPLIB,,piplib is available)
131         have_piplib=true
132 fi
133 AM_CONDITIONAL(HAVE_PIPLIB, test x$have_piplib = xtrue)
134 AM_CONDITIONAL(BUNDLED_PIPLIB, test $with_piplib = bundled)
135
136 AC_CONFIG_HEADERS(config.h)
137 AC_CONFIG_HEADERS(include/isl_libs.h)
138 AC_CONFIG_FILES(Makefile)
139 AC_CONFIG_FILES(doc/Makefile)
140 if test $with_piplib = bundled; then
141         AC_CONFIG_SUBDIRS(piplib)
142 fi
143 AC_CONFIG_COMMANDS_POST([
144         dnl pass on arguments to subdir configures, but don't
145         ac_configure_args="$ac_configure_args $isl_configure_args"
146         ac_configure_args="$ac_configure_args $isl_configure_args"
147 ])
148 AC_OUTPUT