isl 0.21
[isl.git] / configure.ac
blobffa2ee0c496cac54bc8e7a5e153ef325e1b138bf
1 AC_INIT([isl], [0.21], [isl-development@googlegroups.com])
2 AC_CONFIG_AUX_DIR([.])
3 AC_CONFIG_MACRO_DIR([m4])
4 AM_INIT_AUTOMAKE([foreign])
5 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
6 AC_SUBST(versioninfo)
7 versioninfo=21:0:0
9 if test "x$prefix" != "xNONE"; then
10         prefix_wd=`cd $prefix && pwd`
11         srcdir_wd=`cd $srcdir && pwd`
12         wd=`pwd`
13         if test "x$prefix_wd" = "x$srcdir_wd"; then
14                 AC_MSG_ERROR(Installation in source directory not supported)
15         fi
16         if test "x$prefix_wd" = "x$wd"; then
17                 AC_MSG_ERROR(Installation in build directory not supported)
18         fi
21 AC_PROG_CC
22 AC_PROG_CXX
24 AX_CC_MAXOPT
25 AX_GCC_WARN_UNUSED_RESULT
26 AX_C___ATTRIBUTE__
28 # CXX11FLAGS contains the flags (if any) added by AX_CXX_COMPILE_STDCXX_11
29 # Original state of CXX and CXXCPP is preserved because CXX11FLAGS
30 # is only needed for compiling interface/isl_test_cpp
31 AC_SUBST(CXX11FLAGS)
32 ac_save_CXX="$CXX"
33 ac_save_CXXCPP="$CXXCPP"
34 AX_CXX_COMPILE_STDCXX_11([noext], [optional])
35 CXX11FLAGS=${CXX#$ac_save_CXX}
36 CXX="$ac_save_CXX"
37 CXXCPP="$ac_save_CXXCPP"
39 AC_PROG_GREP
40 AC_PROG_LIBTOOL
41 AC_PROG_SED
42 AM_PATH_PYTHON([2.5], [], [:])
43 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
45 AC_CHECK_PROG(CYGPATH, cygpath, cygpath, [])
46 AC_CHECK_PROG(PERL, perl, perl, [])
47 AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex, [])
48 AC_CHECK_PROG(POD2HTML, pod2html, pod2html, [])
50 AC_SUBST(OS_SRCDIR)
51 if test "$host_os" = "mingw32" -a -n "$CYGPATH"; then
52         OS_SRCDIR=`$CYGPATH -m "$srcdir"`
53 else
54         OS_SRCDIR="$srcdir"
57 AM_CONDITIONAL(GENERATE_DOC, test -n "$PERL" -a -n "$PDFLATEX" -a -n "$POD2HTML")
59 AX_CREATE_STDINT_H(include/isl/stdint.h)
61 AC_ARG_WITH([int],
62             [AS_HELP_STRING([--with-int=gmp|imath|imath-32],
63                             [Which package to use to represent
64                                 multi-precision integers [default=gmp]])],
65             [], [with_int=gmp])
66 case "$with_int" in
67 gmp|imath|imath-32)
68         ;;
70         AC_MSG_ERROR(
71             [bad value ${withval} for --with-int (use gmp, imath or imath-32)])
72 esac
74 AC_SUBST(MP_CPPFLAGS)
75 AC_SUBST(MP_CFLAGS)
76 AC_SUBST(MP_LDFLAGS)
77 AC_SUBST(MP_LIBS)
78 case "$with_int" in
79 gmp)
80         AX_DETECT_GMP
81         ;;
82 imath|imath-32)
83         AX_DETECT_IMATH
84         ;;
85 esac
86 if test "x$with_int" = "ximath-32" -a "x$GCC" = "xyes"; then
87         MP_CFLAGS="-std=gnu99 $MP_CFLAGS"
90 AM_CONDITIONAL(IMATH_FOR_MP, test x$with_int = ximath -o x$with_int = ximath-32)
91 AM_CONDITIONAL(GMP_FOR_MP, test x$with_int = xgmp)
93 AM_CONDITIONAL(HAVE_CXX11, test "x$HAVE_CXX11" = "x1")
94 AM_CONDITIONAL(SMALL_INT_OPT, test "x$with_int" == "ximath-32")
95 AS_IF([test "x$with_int" == "ximath-32"], [
96         AC_DEFINE([USE_SMALL_INT_OPT], [], [Use small integer optimization])
99 AC_CHECK_DECLS(ffs,[],[],[#include <strings.h>])
100 AC_CHECK_DECLS(__builtin_ffs,[],[],[])
101 AC_CHECK_DECLS([_BitScanForward],[],[],[#include <intrin.h>])
102 if test "x$ac_cv_have_decl_ffs" = xno -a \
103                 "x$ac_cv_have_decl___builtin_ffs" = xno -a \
104                 "x$ac_cv_have_decl__BitScanForward" = xno; then
105         AC_MSG_ERROR([No ffs implementation found])
107 AC_CHECK_DECLS([strcasecmp,strncasecmp],[],[],[#include <strings.h>])
108 AC_CHECK_DECLS([_stricmp,_strnicmp],[],[],[#include <string.h>])
109 if test "x$ac_cv_have_decl_strcasecmp" = xno -a \
110                 "x$ac_cv_have_decl__stricmp" = xno; then
111         AC_MSG_ERROR([No strcasecmp implementation found])
113 if test "x$ac_cv_have_decl_strncasecmp" = xno -a \
114                 "x$ac_cv_have_decl__strnicmp" = xno; then
115         AC_MSG_ERROR([No strncasecmp implementation found])
117 AC_CHECK_DECLS([snprintf,_snprintf],[],[],[#include <stdio.h>])
118 if test "x$ac_cv_have_decl_snprintf" = xno -a \
119                 "x$ac_cv_have_decl__snprintf" = xno; then
120         AC_MSG_ERROR([No snprintf implementation found])
123 AX_SUBMODULE(clang,system|no,no)
124 case "$with_clang" in
125 system)
126         AX_DETECT_CLANG
127         ;;
128 esac
129 AM_CONDITIONAL(HAVE_CLANG, test $with_clang = system)
130 AM_CONDITIONAL(HAVE_CPP_ISL_H,
131     [test $with_clang = system -o -f $srcdir/include/isl/cpp.h])
133 AX_SET_WARNING_FLAGS
135 AC_SUBST(WARNING_FLAGS)
137 PACKAGE_CFLAGS="$MP_CPPFLAGS"
138 PACKAGE_LDFLAGS="$MP_LDFLAGS"
139 PACKAGE_LIBS="-lisl $MP_LIBS"
140 AX_CREATE_PKGCONFIG_INFO
142 AX_DETECT_GIT_HEAD
144 AH_BOTTOM([#include <isl_config_post.h>])
145 AC_CONFIG_HEADERS(isl_config.h)
146 AC_CONFIG_FILES(isl_srcdir.c)
147 AC_CONFIG_FILES(Makefile)
148 AC_CONFIG_FILES(doc/Makefile)
149 if test $with_clang = system; then
150         AC_CONFIG_FILES(interface/Makefile)
152 AC_CONFIG_FILES([bound_test.sh], [chmod +x bound_test.sh])
153 AC_CONFIG_FILES([codegen_test.sh], [chmod +x codegen_test.sh])
154 AC_CONFIG_FILES([pip_test.sh], [chmod +x pip_test.sh])
155 AC_CONFIG_FILES([flow_test.sh], [chmod +x flow_test.sh])
156 AC_CONFIG_FILES([schedule_test.sh], [chmod +x schedule_test.sh])
157 AC_CONFIG_COMMANDS_POST([
158         dnl pass on arguments to subdir configures, but don't
159         dnl add them to config.status
160         ac_configure_args="$ac_configure_args $isl_configure_args"
162 AC_OUTPUT